配列内の変数が存在するかどうか、それが「true」であるかどうか、そうでない場合は「false」であるかどうかを識別しようとしています。問題は、ページ変数がhttp://example.com/product.php?image_id=50のようなリンクを持つ配列に存在するかどうかだけを知りたいときに、すべての配列変数に対する応答を受信していることです。
<?php
$page = $_GET['image_id'];
if (!empty($_SESSION)){
foreach($_SESSION as $name => $value2) {
if (substr($name, 0, 7)=='images_') {
$id = substr($name, 7, (strlen($name)-7));
$get = mysql_query('SELECT * FROM images WHERE image_id='.mysql_real_escape_string((int)$id));
while ($cart_info_row = mysql_fetch_assoc($get)) {
$cart = array('image_id' => $cart_info_row['image_id'],);
if (in_array($page, $cart)){echo 'true';} else {echo 'false';}
}
}
}
}
}
?>
以下の番号がSESSIONprint_r($ cart)にあると仮定します。
Array ( [image_id] => 42 ) false
Array ( [image_id] => 45 ) false
Array ( [image_id] => 50 ) true
Array ( [image_id] => 49 ) false
さて、変数50が他の3つなしで存在するかどうかだけを特定するにはどうすればよいですか?($page = $_GET['image_id'];)