我有一个像这样的数组:
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的各种各样的东西,因为,列表......无法理解它。
答案 0 :(得分:2)
$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"
}
答案 1 :(得分:2)
使用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
)
*/
答案 2 :(得分:1)
尝试以下解决方案:
$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
)
答案 3 :(得分:0)
我建议使用array_flip()
功能。由于这是一个多维数组,您需要循环它。我链接到的PHP页面的注释中有一些示例,但使用此函数时这是一项非常简单的任务。