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

2020-07-16 10:06:12

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

具體如下:

array_replace函數

<?php
$arr1 = ['a' => 1, 'b' => 2, 'c' => 3];
$arr2 = ['b' => 4, 'c' => 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 = 'abcde';
$str2 = 'ddddddddddd';

$str3 = str_replace('c',$str2,$str1);
print_r($str1."n");
print_r($str3);
//abcde
//abdddddddddddde

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

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

以上就是php中array_replace、array_splice與str_replace函數的比較的詳細內容,更多請關注TW511.COM其它相關文章!