-1

在我下面的数组中,提取我想要的数据的最佳方法是什么['rowid']。我已经尝试过 foreach 和类似的东西,但我似乎无法得到它。

大批:

array(4) { 
    ["b5cfec3e70d0d57ea848d5d8b9f14d61"]=> array(7) { 
        ["rowid"]=> string(32) "b5cfec3e70d0d57ea848d5d8b9f14d61" 
        ["id"]=> string(3) "232" 
        ["qty"]=> string(1) "1" 
        ["price"]=> string(2) "15" 
        ["name"]=> string(13) " DVD" 
        ["options"]=> array(4) { 
            ["description"]=> string(43) " retail DVD for personal use only." 
            ["image"]=> string(36) "d31e3bc3e820b7faef50a400f721125a.jpg" 
            ["additional_info"]=> NULL 
            ["attributes"]=> string(29) "a:1:{s:6:"Format";s:3:"PAL";}" 
        } 
        ["subtotal"]=> int(15) 
    } 
    ["eda80a3d5b344bc40f3bc04f65b7a357"]=> array(7) { 
        ["rowid"]=> string(32) "eda80a3d5b344bc40f3bc04f65b7a357" 
        ["id"]=> string(3) "267" 
        ["qty"]=> string(1) "1" 
        ["price"]=> string(4) "9.99" 
        ["name"]=> string(3) "DVD" 
        ["options"]=> array(4) { 
            ["description"]=> string(0) "" 
            ["image"]=> string(0) "" 
            ["additional_info"]=> NULL 
            ["attributes"]=> NULL 
        } 
        ["subtotal"]=> float(9.99) 
    } 
    ["total_items"]=> int(2) 
    ["cart_total"]=> float(24.99) 
}
4

3 回答 3

0

由于您的数组包含您不需要迭代的值,请创建一个包含要跳过的键的数组,然后您可以在每次迭代中成功选择行 ID:

<?php

// array keys to skip
$skip = array( 'total_items', 'cart_total' );

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

    if(in_array($key, $skip))
        continue; // skip values we don't need in this array

    echo $row['rowid'] . "\n";

}

// output:
// b5cfec3e70d0d57ea848d5d8b9f14d61
// eda80a3d5b344bc40f3bc04f65b7a357

?>      
于 2013-11-11T03:37:03.323 回答
0

使用 array_column 选择一列:

$selected_rowids = array_column($yourarrayname, 'row_id');

如果你想要一个 id => row_id 数组:

$selected_rowids = array_column($yourarrayname, 'row_id', 'id');
于 2013-11-11T05:15:40.490 回答
0
$value) { if(!in_array($skip_values)) { echo $value; } 其他 { 继续; } } ?>
于 2013-11-11T09:59:17.393 回答