0

最初の数行は、すべての変数が目的どおりであることを再確認するためのものです。それらはすべて正しいデータを提供します。

print_r($stack) は、上記の配列要素 (+ 以上の要素) を提供します。

<?php
$item_name = $_POST['item_name']; 
echo $item_name.'<br/><br/>'; // IBM-3246785
print_r($stack);   // Array ( [0] => IBM-3246785 [1] => IBM-3567465 [2] => IBM-4579645 [3] => [4] => IBM-1234567 [5] => [6] => IBM-12345678 [7] => [8] => IBM-24374365 )            

$key = array_search($item_name, $stack);
if ($key !== false) {
    echo "The key where find was found is:" . $key;
} else{
    echo $item_name . " was NOT FOUND in the array";
};
?>

配列検索は常に false を返します!!! $item_name を IBM-3246785 に置き換えてみました - 問題は解決しません。選択した「item_name」のインデックス/キーを返すことができません。

4

2 に答える 2

2

ここでこのコードを実行しました ---

<?php

$item_name = "IBM-3246785";
$stack = Array (0 => 'IBM-3246785', 1 => 'IBM-3567465', 2 => 'IBM-4579645', 3 => 'IBM-1234567',4 => 'IBM-12345678', 5 => 'IBM-24374365');


$key = array_search($item_name, $stack);
if ($key !== false) {
    echo "The key where find was found is:" . $key;
} else{
    echo $item_name . " was NOT FOUND in the array";
};
?>

そしてそれが返されました-findが見つかったキーは:0です

于 2012-07-25T06:12:42.737 に答える
0

$item_name と $stack[0] を比較してみることもif ($item_name == $stack[0]) echo "Done"; できます。最初に false をチェックすることif ($key === false) echo "Not"; else echo "Is"; もできます。また、正しい配列キーを取得するために別の関数を試すこともできます。

于 2012-07-25T06:12:26.593 に答える