0

我有显示结果如下的数组:

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 是什么。

4

4 回答 4

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);
于 2013-07-11T08:23:55.877 回答
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.

于 2013-07-11T08:32:52.110 回答
0

你需要这个:

    foreach ($row as $key => $value) {

            if( $key == 'value'){

                     $vali .= $value.",";
            }
        }

echo $vali;
于 2013-07-11T08:19:22.957 回答
-1
$row = array('standards_id' => 1, 'value' => 'saleem', 'order' => 4);
$vali = '';
foreach ($row as $key => $value) {
    if( $key == 'value'){
        $vali .= $value . ",";
    }
}
echo $vali;
于 2013-07-11T08:20:22.657 回答