6

特定の番号(製品番号)が連想配列に存在することを示すのに問題があります。このコードを試してみると、常に「false」になります。

<?php

$products = array(
    '1000' => array('name' => 'Gibson Les Paul Studio',
                    'price' => 1099.99),
    '1001' => array('name' => 'Fender American Standard Stratocaster',
                    'price' => 1149.99),
    '1002' => array('name' => 'Jackson SL1 USA Soloist',
                    'price' => 2999.99)
);

if (in_array('1001', $products)) {
    echo "true";
} else {
    echo "false";
}
?>

助けていただければ幸いです。ありがとう!

4

2 に答える 2

23

array_key_exists()値を検索するのではなく、特定のキーを検索しているので、ではなく、を探しin_array()ています。

if( array_key_exists('1001', $products))
于 2013-01-12T20:23:41.437 に答える
3

ここではin_array()を使用できません(値が配列に存在するかどうかを確認します)。

array_key_exists()を試してください(指定されたキーまたはインデックスが配列に存在するかどうかを確認します)。

if (array_key_exists('1001', $products)) {
    echo "true";
} else {
    echo "false";
}

isset()およびempty()を使用して、キーの存在を確認することもできます。

于 2013-01-12T20:23:58.813 に答える