我可以循环遍历数组中的2个元素,但是这里我很难循环遍历3个元素。
这是我的例子:
$y = array('cod=>102,subcod=>10201,name=>"blabla"',
'cod=>103,subcod=>10202,name=>"blibli"',
'cod=>103,subcod=>10202,name=>"bblubl"')
我的愿望结果是如何获得每一行的cod
和subcod
以及name
的价值。
我试过了:
foreach ($y as $v) {
echo $v['cod'] ;
echo $v['subcod'];
echo $v['name'] ;
}
但没有用,我得到了这个错误:Warning: Illegal string offset 'cod'
并且每个偏移都有相同的错误。
任何帮助都会有很大帮助。
答案 0 :(得分:2)
然后你需要格式化然后使用循环并获取值。
function format_my_array($arg) {
$new = array();
foreach( $arg as $n => $v ) {
// splitting string like
// 'cod=>102,subcod=>10201,name=>"blabla"'
// by comma
$parts = explode(',', $v);
$new[$n] = array();
foreach( $parts as $p ) {
// splittin again by '=>' to get key/value pair
$p = explode('=>', trim($p));
$new[$n][$p[0]] = $p[1];
}
}
return $new;
}
$new_y = format_my_array($y);
foreach( $new_y as $v ) {
echo $v['cod'];
echo $v['subcod'];
echo $v['name'];
}