我有一个这样的数组数组:
array(2) {
[0]=>
array(2) {
["ssmenu_id"]=>
string(1) "5"
["ssmenu_titre"]=>
string(10) "newsletter"
}
[1]=>
array(2) {
["ssmenu_id"]=>
string(1) "6"
["ssmenu_titre"]=>
string(9) "sous-test"
}
}
我如何从那里得到:
array(2) {
5 => "newsletter",
6 => "sous-test"
}
我已经尝试了各种使用foreach,for,list...无法理解它。
使用 PHP 5
>= 5.5.0 和 PHP 7,您可以使用 array_column()
:
$array = [
[
"ssmenu_id" => 5,
"ssmenu_titre" => "newsletter",
],
[
"ssmenu_id" => 6,
"ssmenu_titre" => "sous-test",
],
];
print_r(array_column($array, 'ssmenu_titre', 'ssmenu_id'));
/* Output:
Array
(
[5] => newsletter
[6] => sous-test
)
*/
$res = array();
foreach($arr as $item){
$res[$item['ssmenu_id']] = $item['ssmenu_titre'];
}
var_dump($res);
输出:
array(2) {
[5]=>
string(10) "newsletter"
[6]=>
string(9) "sous-test"
}
请尝试以下解决方案:
$array = array(
array(
"ssmenu_id" => 5,
"ssmenu_titre" => "newsletter",
),
array(
"ssmenu_id" => 6,
"ssmenu_titre" => "sous-test",
),
);
$res = array();
foreach($array as $item){
$res[$item['ssmenu_id']] = $item['ssmenu_titre'];
}
print_r($res);
输出:
Array
(
[5] => newsletter
[6] => sous-test
)
我建议使用array_flip()
函数。由于这是一个多维数组,您需要遍历它。在我链接到的PHP页面的注释中有一些示例,但是使用此功能时这是一项非常简单的任务。