[英]Convert some values from two dimensional array to one dimensional array
array (size=2)
0 =>
array (size=4)
'id_tax' => string '1' (length=1)
'rate' => string '21.000' (length=6)
1 =>
array (size=4)
'id_tax' => string '2' (length=1)
'rate' => string '15.000' (length=6)
all what I want is array 所有我想要的是阵列
1 => 21
2 => 15
what is tehe best function for doing that? 这样做的最佳功能是什么?
$newArray = [];
foreach($array as $v){
$newArray[] = $v['rate'];
}
print_r($newArray);
If you need corrispondeces between id_tax
and rate
, then just do, as sgt pointed out: 如果你需要id_tax和rate
之间的id_tax
,那么就像id_tax
所指出的那样:
$newArray[$v['id_tax']] = $v['rate'];
try this: 尝试这个:
$newArray = array();
foreach($array as $value) {
$newArray[$value['id_tax']] = $value['rate'];
}
As of PHP >= 5.5 you can use array_column to do the dirty work for you 从PHP> = 5.5开始,您可以使用array_column为您执行脏工作
Get column rate, indexed by the "id_tax" column 获取列率,由“id_tax”列索引
$newArray = array_column($array, 'rate', 'id_tax');
print_r($newArray);
Prints 打印
Array
(
[1] => 21.000
[2] => 15.000
)
This should work for you: 这应该适合你:
<?php
$array1 = array(array("id_tax" => "1", "rate" => "21.000"), array("id_tax" => "2", "rate" => "15.000"));
$array2 = array();
foreach($array1 as $k => $v){
$array2[$v['id_tax']] = $v['rate'];
}
var_dump($array2);
?>
Output: 输出:
array(2) {
[1]=>
string(6) "21.000"
[2]=>
string(6) "15.000"
}
$myArray = array();
foreach ($array as $k => $v){
$myArray[$v['id_tax']] = $v['rate'];
}
so you have the result : 所以你有结果:
1 => 21
2 => 15
This below snippet should work fine for you - It's very simple 下面的代码片段应该可以正常使用 - 这非常简单
$array1 = array(array("id_tax" => "1", "rate" => "21.000"), array("id_tax" => "2", "rate" => "15.000")); print_r(array_combine(array_column($array1 ,'id_tax' ), array_column($array1,'rate')));
Php version : 5.4.0 and ownwards Php版本:5.4.0和自己的
Output : 输出:
Array ( [1] => 21.000 [2] => 15.000 )
Thanks, 谢谢,
Sapan Kumar 萨潘库马尔
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.