6

私は数年間 PHP の世界から離れていて、最近 PHP プロジェクトを継承しました。ただし、PHP ではかなり簡単なはずのことが、私にはわかりません。Python では、次のことができます。

value = some_dict.get(unknown_key, default_value)

PHPで同じことをする最初の推測は次のとおりです。

$value = $some_array[$unknown_key] || $default_value;

ただし$value、PHP は値の短絡をサポートしていないため、ブール値になります。も取得しますNotice: Undefined index: the_keyが、接頭辞を付けることでそれを抑制できることはわかってい@ます。

PHP で Python と同様の動作を実現する方法はありdict.get(key, default)ますか? PHP の配列関数のリストを確認しましたが、特に目立ったものはありませんでした。

4

3 に答える 3

7

次の行に沿って何かが必要だと思います:

$value = array_key_exists($unknown_key, $some_array) ? $some_array[$unknown_key] : $default_value;

これにより、キーが存在することが確認され、値が返されます。そうでない場合は、に割り当てたデフォルト値が割り当てられ$default_valueます。

于 2014-03-20T16:08:17.623 に答える
3
$value = isset($some_array[$unknown_key]) ? $some_array[$unknown_key] : $default_value;

このようにして、警告を抑制する必要はありません

于 2014-03-20T16:10:12.103 に答える