对于 PHP 中多维数组中具有特定键值的每个循环

for each loop with specific key value in multidimensional array in PHP

我一直在使用以下内容来构建一次用于多次删除的子句,效果很好。不过,这是针对一维数组的。

$prefix = $in_clause = '';
$binding_clause = array();  
foreach($selected as $key => $value)
{
    $in_clause .= $prefix.':selected_'.$key;
    $prefix = ', ';
    $binding_clause[':selected_'.$key] = $value;
}

现在,我需要在多维数组的特定值上使用它。鉴于此:

Array
(
    [0] => Array
        (
            [account_id] => 2
            [screenshot_id] => 120262
            [image_filename] => a1.jpg
        )

    [1] => Array
        (
            [account_id] => 2
            [screenshot_id] => 120263
            [image_filename] => a2.jpg
        )
    .......

我只需要键值和 screenshot_id 值,所以我试图更改第一个函数,因此值是:

key = 0, value = 120262
key = 1, value = 120263

希望这是有道理的。不确定如何使用多阵列执行此操作。

假设您有如上所述的 array 格式。

for($i=0; $i<=$array.count(); $i++){
    foreach($array[$i] as $key => $value){
        echo "Key: ". $i . " Value:" . $key['screenshot_id']
    }
}

由于数组元素是数组,使用数组索引访问该部分元素:

foreach ($selected as $key => $value) {
    $binding_clause[':selected_'.$key] = $value['screenshot_id'];
}