我想使用数组1的“id”数组来排序数组2中的所有其他同级数组。“id”数组应该充当$array1和$array2中所有其他数组的架构。
这很容易用一个例子来解释。
我有以下数组,数组1:
Array
(
[id] => Array
(
[0] => 1
[1] => 3
[2] => 2
)
[headline] => Array
(
[0] => test 1
[1] => test 3
[2] => test 2
)
)另一个数组,数组2:
Array
(
[id] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[headline] => Array
(
[0] => tc test 1
[1] => tc test 2
[2] => tc test 3
)
)我想看上去如下:
Array
(
[id] => Array
(
[0] => 1
[1] => 3
[2] => 2
)
[headline] => Array
(
[0] => tc test 1
[1] => tc test 3
[2] => tc test 2
)
)现在,我正试图用foreach语句(和失败)强制执行它,但是必须有更好的方法。
发布于 2016-03-17 00:31:39
这是一种“假”排序,因为我通过一个foreach()循环填充一个空数组,然后替换原始数组:
$array1 = [ 'id' => [ 1,3,2 ], 'headline' => [ 'test 1','test 3','test 2' ] ];
$array2 = [ 'id' => [ 1,2,3 ], 'headline' => [ 'test 1','test 2','test 3' ] ];
$result = array();
foreach( $array1['id'] as $val )
{
$key = array_search( $val, $array2['id'] );
$result['id'][] = $array2['id'][$key];
$result['headline'][] = $array2['headline'][$key];
}
$array2 = $result;
print_r( $array2 );输出:
Array
(
[id] => Array
(
[0] => 1
[1] => 3
[2] => 2
)
[headline] => Array
(
[0] => test 1
[1] => test 3
[2] => test 2
)
)我通过条件'id‘数组执行一个foreach循环,查找要排序的数组中的每个值,检索其键并使用它向结果数组添加值。
不太骄傲这个解决方案,但这是。
https://stackoverflow.com/questions/36048012
复制相似问题