このコードを試して、配列に値が存在するかどうかを確認しています。
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo (array_key_exists($num, $arr)); //show the index, in this case 1
}
私が欲しいのは、対応する値を表示することです。つまり、0.58
どうやってやるの ?
このコードを試して、配列に値が存在するかどうかを確認しています。
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo (array_key_exists($num, $arr)); //show the index, in this case 1
}
私が欲しいのは、対応する値を表示することです。つまり、0.58
どうやってやるの ?
必要なものはこれです:
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo $arr[$num];
}
必要な値のキーまたはインデックスの位置があると仮定すると、使用できる関数は2つありarray_key_exists()
ますisset()
。
array_key_exists()
配列をチェックして、指定したキーが配列内に存在するかどうかを確認します。このキーに関連付けられている値があるかどうかはチェックされません。つまり、キーは配列に設定できますが、値はnullになる可能性があります。
使用例:
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (array_key_exists($num, $arr)) {
echo $arr[$num];
}
isset()
特定の配列インデックスに値が設定されているかどうかを確認するために使用できます。
使用例:
$arr = array ('2' => '0', '3' => '0.58');
$num=3;
if (isset($arr[$num])) {
echo $arr[$num];
}
配列内に特定の値が存在するかどうかを確認することだけを求めているように見えるので、配列in_array()
の値をスキャンし、値が見つかったかどうかに応じてtrueまたはfalseを返すusingを見てみましょう。
使用例:
$arr = array ('2' => '0', '3' => '0.58');
$needle = '0.58';
if (in_array($needle, $arr)) {
echo "found: $needle";
}
さらに、php.netには、よく知っておくべき他の多くの配列関数があります。
それを試してみてください
<?php
$arr = array(
'2' => '0',
'3' => '0.58'
);
$num = 3;
if (array_key_exists($num, $arr)) {
echo $arr[$num];
// 0.58
}
echo '<br/>';
$val = '0.58';
if (in_array($val, $arr)) {
echo '0.58 found';
}
?>
var_dump(in_array(0.58, $arr)); // 3
関連ドキュメント。