首頁  >  文章  >  後端開發  >  php中array_replace、array_splice與str_replace函數的比較

php中array_replace、array_splice與str_replace函數的比較

王林
王林轉載
2020-01-31 20:45:012539瀏覽

php中array_replace、array_splice與str_replace函數的比較

我們知道php中有一些功能相似或是名稱相似的函數,例如array_replace,array_splice和str_replace這三個函數,從名稱來看前兩個操作數組的,後一個操作字串的。

具體如下:

array_replace函數

<?php
$arr1 = [&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3];
$arr2 = [&#39;b&#39; => 4, &#39;c&#39; => 5, 3];
$arr3 = [1, 2, 3];
$arr4 = array_replace($arr1, $arr2, $arr3);
print_r($arr4);
//Array
//(
//    [a] => 1
//    [b] => 4
//    [c] => 5
//    [0] => 1
//    [1] => 2
//    [2] => 3
//)

這個例子中,$arr3與$arr2中具有相同鍵的元素,於是$arr3把$arr2替代,不同的增加,得到一個臨時數組,臨時數組['b' => 4, 'c' => 5, 1,2,3]與$arr1具有相同鍵的元素,於是這個臨時陣列把$arr1取代,鍵不同的元素增加到$arr1,最後回傳結果陣列。

(免費學習影片教學推薦:php影片教學

<?php
$arr1 = [1, 2, 3];
$arr2 = [1, 2, 3];
$arr3 = [1, 2, 3];
$arr4 = array_replace($arr1, $arr2, $arr3);
print_r($arr4);
//Array
////(
////    [0] => 1
////    [1] => 2
////    [2] => 3
////)

這個例子中$arr3把$arr2中相同元素取代,然後得到的臨時陣列把$ arr1中具有相同鍵的元素替代了。

array_splice函數

<?php
$arr1 = [1, 2, 3];
$arr2 = [1, 2, 3];

$arr3 = array_splice($arr1, 1, 2, $arr2);
print_r($arr3);
print_r($arr1);
//Array
//(
//    [0] => 2
//    [1] => 3
//)
//Array
//(
//    [0] => 1
//    [1] => 1
//    [2] => 2
//    [3] => 3
//)

這個函數將$arr1,索引1,索引2,位置的元素切掉,然後將$arr2增加到$arr1剩下的元素後面,這個函數影響了原來的陣列$arr1

str_replace函數

<?php
$str1 = &#39;abcde&#39;;
$str2 = &#39;ddddddddddd&#39;;

$str3 = str_replace(&#39;c&#39;,$str2,$str1);
print_r($str1."\n");
print_r($str3);
//abcde
//abdddddddddddde

在$str1中找到字元c的位置然後用$str2將其替代,不影響原來字串。

三個函數,array_replace和stt_replace雖然函數名稱很相似,但功能很容易混淆。

相關文章教學推薦:php教學

#

以上是php中array_replace、array_splice與str_replace函數的比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除