我有一个显示结果的数组:
Array ( [standards_id] => 1
[value] => sory
[order] => 10
)
Array ( [standards_id] => 1
[value] => javid
[order] => 3
)
Array ( [standards_id] => 1
[value] => saleem
[order] => 4
).
我想检查数组键,如果它是“值”,那么我想连接它的值。我尝试这样的代码但不是成功的。
$row = array(.....);
$vali = '';
foreach ($row as $key => $value) {
if( $value[$key] == 'value'){
echo $vali .= $value['value'].",";
}
}
我想在一个循环中完成。$ row包含多个数组,如上面的3. $ row包含从数据库中获取的所有记录。您了解$ row是什么。
答案 0 :(得分:1)
使用isset()
查看'value'
的每个元素中是否存在键$row
;你根本不需要一个循环:
foreach ($row as $data) {
if (isset($data['value'])) {
$vali .= $data['value'] . ',';
}
}
或者,您可以使用值
构建一个数组$values = array();
foreach ($row as $data) {
if (isset($data['value'])) {
$values[] = $data['value'];
}
}
echo join(',', $values);
答案 1 :(得分:1)
您的命名表明$row
仅包含:
Array ( [standards_id] => 1
[value] => sory
[order] => 10
)
没有理由循环这样的结构。您可以测试此“行”是否包含带
的值if( isset( $row['value'] ) ) {
$vali .= $row['value'] . ', ';
}
如果你有一个包含这些数组的变量$myRows
,你可以使用
foreach( $myRows as $k => $row ) { ... }
在这种情况下,$row
包含数组,您可以使用第一个代码将值附加到$vali
。
答案 2 :(得分:0)
你需要这个:
foreach ($row as $key => $value) {
if( $key == 'value'){
$vali .= $value.",";
}
}
echo $vali;
答案 3 :(得分:-1)
$row = array('standards_id' => 1, 'value' => 'saleem', 'order' => 4);
$vali = '';
foreach ($row as $key => $value) {
if( $key == 'value'){
$vali .= $value . ",";
}
}
echo $vali;