如何從這個數組:從陣列中獲取DATAS與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";
感謝。
如何從這個數組:從陣列中獲取DATAS與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
。
1.
array_keys
陣列的返回鍵2.
array_values
陣列的返回值3.
implode
加入陣列a glue
<?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));
你好,對於日期,我怎麼能有這樣的:「 」2017年4月10日「, 」2017年4月11日「,「2017-04 -12「'從你的例子? –
@qatari你可以這樣做https://eval.in/805894 –
只需使用array_keys
和array_values
和implode
。
array_keys()
將從數組中獲取所有密鑰作爲新數組。
array_values()
將得到所有值的形式數組作爲新的數組。
implode()
會將您的數組轉換爲以逗號分隔符分隔的字符串。
implode(', ', array_keys($data));
implode(', ', array_values($data));
$data = ['2017-04-10' => 0, '2017-04-11' => 95, '2017-04-12' => 101.67];
$dates = implode(',', array_keys($data));
$prices = implode(',', array_values($data));
以前的答案是definetly最簡潔的。但是,如果你需要做的任何數據操作(如逃避分隔符,或在報價封裝,或更改日期格式或添加貨幣符號),這可能是最靈活的...
foreach($arr as $date => $val) {
$datestr .= $date.',';
$valstr .= $val.',';
}
如果你需要剪掉後昏迷,你可以做
$datestr = rtrim($datestr,',');
$valstr = rtrim($valstr,',');
這幾個頁面上的答案不必要的來電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
這是最瘦的,最有效的回答你的問題。
使用''array_keys'和array_values''implode' –