我有一个数组,每个数组的项都是对象,我用以下代码转换了这个数组:
json_decode(json_encode($array), true)
代码的结果是这样的数组:
[
'1'=>[
'slug'=>'a'
'title'=>'foo'
],
'2'=>[
'slug'=>'b'
'title'=>'bar'
],
'3'=>[
'slug'=>'c'
'title'=>'foo'
],
]
现在我想把这个阵列隐藏到像这样的东西上
[
'a'=>'foom',
'b'=>'bar',
'c'=>'foo',
]
我该怎么做??
使用foreach和array_combine()
foreach ($your_array as $key => $value) {
// get all the keys in $slug array
$slug[] = $value['slug'];
// get all the values in $title array
$title[] = $value['title'];
}
// finally combine and get your required array
$required_array = array_combine($slug, $title);
我认为它也可以通过-实现
$requiredArray = array_combine(
array_column($your_array, 'slug'),
array_column($your_array, 'title')
);
您必须迭代初始数组并创建新数组,如下所示:
$array = [
'1'=>[
'slug'=>'a'
'title'=>'foo'
],
'2'=>[
'slug'=>'b'
'title'=>'bar'
],
'3'=>[
'slug'=>'c'
'title'=>'foo'
],
];
$result = [];
foreach($array as $elem){
$index = $elem["slug"];
$value= $elem["title"];
$result[$index] = $value;
}
foreach($array as $elem){
$result[$elem["slug"]] = $elem["title"];
}