ユーザーがデータベースに入力したデータを見ることができるページを作成しました。
私が使用した:
$select = "SELECT * FROM texts WHERE user='".$user."' ORDER BY date DESC, id DESC";
$result = mysql_query($select);
$array = array();
while($show = mysql_fetch_assoc($result))
{
$array[] = $show;
}
echo "<strong>".$array[0]['id']."</strong><br />";
echo "<strong>".$array[1]['id']."</strong><br />";
echo "<strong>".$array[2]['id']."</strong><br />";
echo "<strong>".$array[3]['id']."</strong><br />";
echo "<strong>".$array[4]['id']."</strong><br />";
コードは機能しますが、返す値が 10 未満の場合もあれば、それ以上の場合もあります。
これを使用し、返す配列が 2 つしかない場合、次のようになります。
Notice: Undefined offset: 2 in ownposts.php on line 15
Notice: Undefined offset: 3 in ownposts.php on line 16
Notice: Undefined offset: 4 in ownposts.php on line 17
$array[4] が存在する場合にのみ $array[ 4]['id]をエコーする方法は?
私は試してみました:
$zero = $array[0];
if(!empty($zero))
{
echo "<strong>".$zero['id']."</strong><br />";
}
$four = $array[4];
if(!empty($four))
{
echo "<strong>".$five['id']."</strong><br />";
}
しかし、私が例外として機能せず、まだNotice: Undefined offsed: 4 in ownposts.php on line 17 を返します。