帶你快速掌握PHP數組元素的替換(實例詳解)

WBOY
發布: 2023-04-10 19:32:01
原創
4389 人瀏覽過

在先前的文章《學會獲取多個數組差集的三個方法(收藏)》其中詳細的介紹了PHP中怎樣獲取數組差集方法的相關知識,本篇文章我們一起來看看PHP怎麼取代陣列中的元素相關知識,希望對大家有幫助!

帶你快速掌握PHP數組元素的替換(實例詳解)

在之前的文章中我們有講到在PHP中想要替換字串可以透過str_replace 函數與substr_replace()函數,字串和陣列都是PHP中非常重要的資料類型,那麼我們應該怎麼做才能夠做到替換數組中的元素呢?

在PHP中可以透過array_splice函數、array_replace函數和array_replace_recursive函數來進行對陣列中的元素進行替換,下面我們就分別來看這三種函數的使用方法。

<strong><span style="font-size: 20px;">array_splice</span></strong>#函數

在PHP中可以透過array_splice函數將陣列中的元素移除並且使用新的元素來取代它,array_splice函數的基本語法格式如下:

array_splice(array,start,length,array)
登入後複製

其中需要注意的是:

第一個參數array表示的就是我們需要進行操作的數組,而參數start是用來表示刪除元素的開始位置,參數length是用來規定被移除的元素個數,同時也是傳回結果中陣列的長度,第二個參數array是用來規定要插入原始陣列中元素的陣列。

參數start是正數的時候,就表示從陣列中該值指定的偏移量開始移除。如果該參數是負數的話,則表示從陣列末端倒數該值指定的偏移量開始移除。如果是0的話,那就是從第一個元素開始移除。

參數length如果是正數的時候表示移除元素的數量,如果是負數表示的是移除從start 到陣列末端倒數length 為止中間所有的元素。如果沒有設定該參數的值,則表示移除從 start 參數設定的位置開始直到陣列末端的所有元素。

此函數的傳回結果是由被提取出來的元素所組成的陣列。

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

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>
登入後複製

輸出結果:

帶你快速掌握PHP數組元素的替換(實例詳解)

上述範例中,便是透過array_splice函數來對陣列元素進行了替換,下面我們來看另外的兩種方法。

<strong><span style="max-width:90%">array_replace</span></strong>#函數

在PHP中可以透過array_replace函數來讓後面陣列的值取代第一個陣列的值,array_replace函數的基本語法格式如下:

array_replace(array1,array2,array3...)
登入後複製

其中需要注意的是:

參數array1表示的是我們需要被替換的數組,參數array2表示的是指定要替換array1的值的數組,array3表示的是指定多個需要替換的數組,後面的數值會覆蓋前面的數值。傳回的結果是被替換的數組,如果函數其中有錯誤的話,回傳的結果就是NULL

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

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>
登入後複製

輸出結果:

帶你快速掌握PHP數組元素的替換(實例詳解)

##上述範例中,一個鍵名不僅存在於第一個數組,也在第二個數組,這時候第一個數組中的值會被第二個數組中的值給替換掉,如果第一個數組中的鍵名是單獨的,別的數組中沒有這個鍵名,這時候這個鍵名和這個值機會保持不變。

這是一個鍵只存在於第一個陣列中的情況,下面我們看一下一個鍵只存在於第二個或後面的陣列中,下面我們再看一個範例:


<?php
$a1=array("a"=>"red","green");
$a2=array("a"=>"orange","b"=>"burgundy");
print_r(array_replace($a1,$a2));
?>
登入後複製

輸出結果:


帶你快速掌握PHP數組元素的替換(實例詳解)

上述範例中能夠看出,當一個鍵不存在在第一個陣列中,只存在於第二個數組中的時候,第一個數組中會重新建立一個這個鍵名和這個值,上述的範例都是兩組數組,下面我們來看三組數組的時候,

範例如下:

<?php
$a1=array("red","green");
$a2=array("blue","yellow");
$a3=array("orange","burgundy");
print_r(array_replace($a1,$a2,$a3));
?>
登入後複製

輸出結果:


帶你快速掌握PHP數組元素的替換(實例詳解)

上述示例中,出现了三个数组,这时候需要注意的是,后面数组的值会覆盖前面数组的值。

这便是array_replace函数的基本用法,下面我们继续来看array_replace_recursive函数的用法。

array_replace_recursive函数

在PHP中可以通过array_replace_recursive函数来递归的使用第二个数组的值来替换第二个数组的值。

array_replace_recursive函数的基本语法格式如下:

array_replace_recursive(array1,array2,array3...)
登入後複製

其中需要注意的是:

参数array1表示的是我们需要被替换的数组,参数array2表示的是指定要替换array1的值的数组,array3表示的是指定多个需要替换的数组,后面的数值会覆盖前面的数值。返回的结果是被替换的数组,如果函数其中有错误的话,返回的结果就是NULL

如果数组中没有使用指定的键来规定数组中的元素,那么array_replace_recursive函数就可以看成是array_replace函数。

如果一个键在第一个数组和第二个数组中都存在,这时候第二个数组的值会替换第一个数组的值,如果一个键只存在于第一个数组,那么这个值会保存,如果一个键只存在于第二个数组,这时候会在第一个数组创建一个一样的元素。

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

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>
登入後複製

输出结果:

帶你快速掌握PHP數組元素的替換(實例詳解)

上述示例中,多个数组后面的数值会覆盖前面的数值。

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

以上是帶你快速掌握PHP數組元素的替換(實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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