我想将数组转换为单个数组。 这是我的数组代码如下:
Array
(
[0] => Array
(
[label] =>
[value] =>
)
[1] => Array
(
[value] => 4
[label] => 0.5
)
[2] => Array
(
[value] => 5
[label] => 0.6
)
)
想要获得以下结果:
Array(
'4' => '0.5',
'5' => '0.6',
);
答案 0 :(得分:1)
试试这个:
JavaDoc
使用可以根据需要使用非空或空的过滤器。
答案 1 :(得分:0)
试试这个:
$array = array(
array('value' => '', 'label' => ''),
array('value' => 4, 'label' => 0.5),
array('value' => 5, 'label' => 0.6)
);
$new_array = array();
foreach($array as $item_array){
if(!empty($item_array['value'])){
$new_array[$item_array['value']] = $item_array['label'];
}
}
print_r($new_array);
答案 2 :(得分:0)
您可以使用以下功能:
array_column()
- 返回输入数组中单个列的值
array_combine()
- 通过使用一个数组作为键而另一个数组作为其值
array_filter()
- 使用回调函数过滤数组的元素,如果没有提供回调,则将删除所有等于FALSE(see converting to boolean)的数组条目。
<强>脚本强>
akshay@db-3325:/tmp$ cat test.php
<?php
$array = array(
array('value' => '', 'label' => ''),
array('value' => 4, 'label' => 0.5),
array('value' => 5, 'label' => 0.6)
);
/* make use of array_column and array_combine */
print_r( array_combine( array_column($array, 'value'), array_column($array, 'label') ) );
/* to remove empty elements use array_filter */
print_r( array_filter( array_combine( array_column($array, 'value'), array_column($array, 'label') ) ) );
?>
<强>输出强>
akshay@db-3325:/tmp$ php test.php
Array
(
[] =>
[4] => 0.5
[5] => 0.6
)
Array
(
[4] => 0.5
[5] => 0.6
)