我們知道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教學
#以上是php中array_replace、array_splice與str_replace函數的比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!