首頁  >  文章  >  後端開發  >  php判斷值在哪一個數組

php判斷值在哪一個數組

WBOY
WBOY原創
2023-05-05 14:43:50517瀏覽

在PHP程式設計中,常常需要判斷一個值是否存在於一個陣列中。如果陣列中存在該值,通常需要取得該值在陣列中的位置或鍵名。本文將介紹在PHP中如何判斷一個值是否存在於一個陣列中,並取得該值在陣列中的位置或鍵名。

一、PHP in_array()函數

PHP提供了一個in_array()函數,用來判斷一個值是否存在於一個陣列中。此函數的語法如下:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

其中,$needle表示要尋找的值,$haystack表示要尋找的數組,$strict表示是否開啟嚴格模式,預設為false,即不開啟嚴格模式。開啟嚴格模式後,需要同時比較數值和類型。

該函數的傳回值為布林值,即如果$needle存在於$haystack中,則傳回true,否則傳回false。

範例1:檢查一個整數是否存在於一個陣列中

$numbers = array(1, 2, 3, 4, 5);
if (in_array(3, $numbers)) {

echo "3 is found in the array";

} else {

echo "3 is not found in the array";

}
?>

輸出結果為:3 is found in the array

範例2:檢查字串是否存在於一個陣列中

$fruits = array("apple", "banana", "orange", "pear");
if (in_array("orange", $fruits)) {

echo "orange is found in the array";

} else {

echo "orange is not found in the array";

}
?>

輸出結果為:orange is found in the array

二、PHP array_search()函數

在某些情況下,需要取得一個值在陣列中的位置或鍵名。 PHP提供了一個array_search()函數,用於取得一個值在陣列中的位置或鍵名。此函數的語法如下:

mixed array_search ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

其中,$needle表示要尋找的值,$haystack表示要尋找的數組,$strict表示是否開啟嚴格模式,預設為false,即不開啟嚴格模式。開啟嚴格模式後,需要同時比較數值和類型。

該函數的傳回值為查找到的鍵名,如果沒有找到,則傳回false。

範例1:取得整數在陣列中的位置

$numbers = array(1, 2, 3, 4, 5);
$ key = array_search(3, $numbers);
echo "3 is found at position " . $key;
?>

輸出結果為:3 is found at position 2

範例2:取得字串在陣列中的鍵名

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange", "pear" => "green");
$key = array_search("orange", $fruits);
echo "orange is found with key " . $key;
?>

輸出結果為:orange is found with key orange

三、PHP array_keys()函數

如果需要取得一個陣列中所有包含某個值的鍵名,可以使用PHP的array_keys()函數。此函數的語法如下:

array array_keys ( array $array , mixed $search_value [, bool $strict = FALSE ] )

#其中,$array表示要尋找的陣列,$search_value表示要尋找的值,$strict表示是否開啟嚴格模式,預設為false,即不開啟嚴格模式。開啟嚴格模式後,需要同時比較數值和類型。

該函數的傳回值為一個包含所有符合條件的鍵名的陣列。

範例1:取得一個整數在陣列中所有的位置

$numbers = array(1, 2, 3, 4, 5, 3, 6) ;
$keys = array_keys($numbers, 3);
echo "The value 3 is found at positions: ";
foreach ($keys as $key) {

echo $key . " ";

}
?>

輸出結果為:The value 3 is found at positions: 2 5

範例2:取得一個字串在陣列中所有的鍵名

$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange", "pear" => "yellow", "orange" => "orange", "pear" => "green", "mango" => "yellow");
$keys = array_keys($fruits, "yellow");
echo "The value yellow is found with keys: ";
foreach ($keys as $key) {

echo $key . " ";

}
?>

#輸出結果為:The value yellow is found with keys: banana mango

四、結論

PHP提供了多種方法來判斷一個值是否存在於一個陣列中,並取得該值在陣列中的位置或鍵名。使用in_array()函數可以輕鬆判斷一個值是否存在於一個陣列中;使用array_search()函數可以取得一個值在陣列中的位置或鍵名;使用array_keys()函數可以取得一個陣列中所有包含某個值的鍵名。根據實際需求,選用不同的方法可以更方便地完成任務。

以上是php判斷值在哪一個數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn