首頁 > 後端開發 > PHP問題 > php如何判斷陣列是否包含某值

php如何判斷陣列是否包含某值

PHPz
發布: 2023-04-19 09:39:10
原創
899 人瀏覽過

在PHP開發中,陣列是一種十分常用的資料結構。而在數組的使用過程中,常常會涉及到對數組是否包含某個值的判斷。這篇文章將簡單介紹在PHP中如何快速判斷一個陣列是否包含某個值,並提供一些範例程式碼供參考。

一、使用in_array()函數判斷

在PHP中,使用in_array()函數可以快速判斷一個陣列是否包含某個值。此函數接收兩個參數,第一個參數是需要尋找的值,第二個參數是待查詢的陣列。如果查詢到該值,則傳回true,否則傳回false。

範例程式碼:

1

2

3

4

5

6

$arr array('php''java''python''ruby');

if (in_array('php'$arr)) {

  echo '该数组中包含php';

else {

  echo '该数组中不包含php';

}

登入後複製

輸出:

1

该数组中包含php

登入後複製

二、使用array_search()函數判斷

另外一個常用的函數是array_search(),該函數和in_array()類似,可以快速判斷一個陣列是否包含某個值。不同的是,array_search()函數會傳回符合的鍵名,而不是傳回true或false。

範例程式碼:

1

2

3

4

5

6

7

$arr array('php''java''python''ruby');

$key array_search('php'$arr);

if ($key !== false) {

  echo '该数组中包含php,其键名为:' $key;

else {

  echo '该数组中不包含php';

}

登入後複製

輸出:

1

该数组中包含php,其键名为:0

登入後複製

要注意的是,由於array_search()傳回的是符合的鍵名,因此需要判斷傳回值是否為false,而不能直接使用if(array_search('php', $arr))。

三、使用in_array()和array_search()函數進行模糊匹配

#有時候需要進行模糊匹配來判斷數組中是否包含某個值。例如,需要判斷數組中是否包含"php"這個字樣的字串。可以使用正規表示式和in_array()和array_search()函數結合進行模糊比對。

範例程式碼:

1

2

3

4

5

6

7

8

9

10

11

12

$arr array('welcome to php world''java is the best language''I love python''ruby on rails');

$pattern '/.*php.*/i'// 匹配包含php字样的字符串

foreach ($arr as $value) {

  if (preg_match($pattern$value)) {

    if (in_array($value$arr)) {

      echo $value ' 存在于数组中';

    else {

      $key array_search($value$arr);

      echo $value ' 的键名为:' $key ',但其实际不在数组中';

    }

  }

}

登入後複製

輸出:

1

welcome to php world 存在于数组中

登入後複製

總結

在PHP中,判斷陣列是否包含某個值可以使用in_array()和array_search ()函數來完成。兩個函數的不同之處在於返回值的類型不同。需要注意的是,在模糊符合時需要使用正規表示式結合in_array()和array_search()函數進行判斷。

以上是php如何判斷陣列是否包含某值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板