可能重复:
PHP - Why is a concatenated print_r printed out of order?
以下是一段代码,其中包含S:2:0;M:7:9;L:4:9;XL:6:0;XXL:6:9
格式的$ input,这些代码被解析并存储到2d数组中..通过以下代码
$stock_data = explode(';', $input);
foreach($stock_data as $value) {
$value = explode(':', $value);
if (!empty($value[0])) {
$temp_size = $value[0];
$stock[$value[0]] = array('winkel' => $value[1], 'distributeur' => $value[2]);
fb('afetr array val = '.$temp_size.' = its val -|'. print_r($stock[$temp_size]['distributeur']).'|',FirePHP::INFO);
}
}
return $stock;
print_r($stock[$temp_size]['distributeur']
或print_r($stock[$temp_size]['winkel']
中的值始终为1,即使稍后我尝试print_r整个数组$stock
,它所获得的只是1。
我试图让print_r()
显示数组应该是什么,这里出了什么问题。
答案 0 :(得分:3)
那是因为that's what print_r
returns。如果您希望它返回字符串,请添加第二个参数:
print_r($stock[$temp_size]['distributeur'], true)