首頁 後端開發 php教程 PHP數組操作之匹配搜尋數組中的元素和鍵名

PHP數組操作之匹配搜尋數組中的元素和鍵名

Nov 05, 2021 am 10:39 AM
php 陣列

在之前的文章《PHP中怎麼去比較字串? (實例詳解)》中我們詳細的介紹了PHP中透過什麼樣的方法能夠比較兩個字串的相關知識,本篇文章我們來看一下PHP中的陣列操作的相關知識,希望對大家有幫助!

PHP數組操作之匹配搜尋數組中的元素和鍵名

在先前的文章中我們了解了可以透過strcmp()函數和strcasecmp() 函數來進行字串的比較,字串是PHP中的重要資料類型之一,PHP開發過程中還有很重要的資料類型就是數組,我們了解了可以對字串進行比較、定位和替換等等的操作,那麼對於同樣重要的陣列我們有什麼常用的操作嗎?

在之前的文章《PHP中怎樣去定位字串與陣列中的元素? 》我們講到了怎樣去搜尋定位字串與數組中的元素,其中講到可以透過preg_grep()函數來對數組元素進行定位搜索,下面我們就來看更多的方法去尋找和搜尋數組中的元素。

<strong><span style="font-size: 20px;">in_array</span></strong>#()函數-符合陣列元素傳回布林

在PHP中我們可以透過in_array()函數來對數組中的元素進行搜索,in_array()函數的基本語法格式如下:

in_array(search,array,type)
登入後複製

其中要注意的是:參數search表示的是我們需要在陣列中搜尋的值,參數array表示的是我們需要搜尋的陣列,參數type是一個可選參數,如果參數的取值是true的話,在搜尋的時候就會檢查搜尋的資料和所搜尋的陣列資料型態是否形同。

如果在陣列中找到了我們需要搜的的值,函數傳回的結果就是true;如果沒有在陣列中找到我們需要搜尋到的值,傳回的結果就是false

接下來我們透過簡單的範例來看PHP中in_array()函數的應用,範例如下:

<?php
$people = array("Bill", "bob", "Mark", "coc");
if (in_array("23", $people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
  echo &#39;<br/>&#39;;
if (in_array("Mark",$people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
  echo &#39;<br/>&#39;;
if (in_array("bill",$people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
?>
登入後複製

輸出結果:

PHP數組操作之匹配搜尋數組中的元素和鍵名

在上述範例中,我們第三次匹配搜尋的時候,我們是用來小寫,並沒有匹配成功,其中需要注意的是如果我們需要搜尋的內容是個字串的話,並且參數type的設定為true,那麼進行搜尋的時候就會區分大小寫。

<strong><span style="max-width:90%">array_search</span></strong>#() 函數-符合陣列元素傳回鍵名

上文中的in_array函數知識單純地搜尋判斷數組中有沒有我們需要進行找的元素,還沒辦法進行定位,想要準確的進行定位找到的話呢,在PHP中我們可以透過array_search() 函數,該函數可以搜尋元素,傳回的結果是我們搜尋元素的鍵名。

array_search()函數的基本語法格式如下:

array_search(value,array,strict)
登入後複製

其中需要注意的是:參數value是我們需要搜尋的鍵值,參數array就是我們需要進行搜尋的數組,參數strict是一個可選參數,該參數預設是flase,如果參數設定為true的話,在搜尋的時候就會檢查搜尋的資料和所搜尋的陣列資料型態是否形同。

如果在陣列中搜尋到了對應的鍵值,傳回的結果就是這個鍵值對應的鍵名;如果沒有符合的話,傳回的結果就是flase;其中需要注意一下,如果匹配到的鍵值不只一個,這時候回傳的結果就是第一次匹配到鍵值的鍵名。

下面我們透過範例來看array_search函數的使用,範例如下:

<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true) . &#39;<br/>&#39;;
$array = array(0 => &#39;blue&#39;, 1 => &#39;red&#39;, 2 => &#39;green&#39;, 3 => &#39;red&#39;);
echo array_search(&#39;green&#39;,$array,true);
?>
登入後複製

輸出結果:

PHP數組操作之匹配搜尋數組中的元素和鍵名

其中要注意的是,當參數設定為true的時候,在陣列進行搜尋比對的時候,不同的資料形式搜尋的結果是不同的。

<strong><span style="max-width:90%">array_key_exists</span></strong>#()函數-符合陣列鍵名稱傳回布林

#在上文中我們透過array_search函數能夠透過搜尋鍵值輸出搜尋元素的鍵名,在PHP中也可以直接搜尋鍵名。那就是透過PHP中的array_key_exists函數。

array_key_exists函數的基本語法格式如下:

array_key_exists(key,array)
登入後複製

其中需要注意的是:参数key表示的就是我们需要所搜的键名,参数array标识的就是我们需要进行搜索的数组,

通过array_key_exists函数只能够判断一维数组中的键名不能判断多维数组中数组内的键名,如果在数组中匹配到了指定的键名,该函数返回的结果就是true,如果数组中没有匹配到。返回的结果就是flase。

下面我们通过示例来看一下array_key_exists函数的使用,示例如下:

<?php
$people = array("Bill", "a"=>"bob", "Mark", "coc");
if (array_key_exists(0, $people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
  echo &#39;<br/>&#39;;
if (array_key_exists("a",$people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
  echo &#39;<br/>&#39;;
if (array_key_exists("coc",$people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
?>
登入後複製

输出结果:

PHP數組操作之匹配搜尋數組中的元素和鍵名

由此我们便通过array_key_exists来进行在一个数组中找到一个指定的键。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上是PHP數組操作之匹配搜尋數組中的元素和鍵名的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

為了在 cakephp4 中處理日期和時間,我們將使用可用的 FrozenTime 類別。

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

為了進行文件上傳,我們將使用表單助理。這是文件上傳的範例。

CakePHP 建立驗證器 CakePHP 建立驗證器 Sep 10, 2024 pm 05:26 PM

可以透過在控制器中新增以下兩行來建立驗證器。

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 是一個開源MVC 框架。它使應用程式的開發、部署和維護變得更加容易。 CakePHP 有許多函式庫可以減少大多數常見任務的過載。

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

See all articles