搜尋
首頁後端開發php教程帶你快速掌握PHP數組元素的替換(實例詳解)

在先前的文章《學會獲取多個數組差集的三個方法(收藏)》其中詳細的介紹了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="font-size: 20px;">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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么读取字符串后几个字符php怎么读取字符串后几个字符Apr 22, 2022 pm 08:31 PM

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

See all articles

熱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.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具