[英]Get datas from an array with PHP
如何从这个数组:
Array
(
[2017-04-10] => 0
[2017-04-11] => 95
[2017-04-12] => 101.67
)
我可以得到这样的东西:
$dates = "2017-04-10, 2017-04-11, 2017-04-12";
$price = "0, 95, 101.67";
谢谢。
只需使用array_keys
和array_values
和implode
。
array_keys()
将从数组中获取所有键作为新数组。
array_values()
将从数组中获取所有值作为新数组。
implode()
会将您的数组转换为字符串,并用逗号分隔符分隔。
implode(', ', array_keys($data));
implode(', ', array_values($data));
在这里,我们使用array_keys
, array_values
和implode
。
1.
array_keys
返回数组的键2.
array_values
返回数组的值3.用
a glue
implode
连接阵列
<?php
ini_set('display_errors', 1);
$array=Array
(
"2017-04-10" => 0,
"2017-04-11" => 95,
"2017-04-12" => 101.67
);
echo $dates=implode(", ", array_keys($array));
echo PHP_EOL;
echo $price=implode(", ", array_values($array));
$data = ['2017-04-10' => 0, '2017-04-11' => 95, '2017-04-12' => 101.67];
$dates = implode(',', array_keys($data));
$prices = implode(',', array_values($data));
此页面上的几个答案不必要地调用array_values()
。 我认为海报只是在急着回答。 您可以省略此额外的函数调用并获得相同的结果:
方法:
$array=[
"2017-04-10" => 0,
"2017-04-11" => 95,
"2017-04-12" => 101.67
];
$dates=implode(', ',array_keys($array)); // 2017-04-10, 2017-04-11, 2017-04-12
$price=implode(', ',$array); // 0, 95, 101.67
这是对您问题的最精简,最有效的回答。
前面的答案绝对是最简洁的。 但是,如果您需要对数据进行任何处理(例如转义定界符,封装在引号中,更改日期格式或添加货币符号),则这可能是最灵活的...
foreach($arr as $date => $val) {
$datestr .= $date.',';
$valstr .= $val.',';
}
如果您需要修剪拖尾昏迷,可以这样做
$datestr = rtrim($datestr,',');
$valstr = rtrim($valstr,',');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.