当前位置:  首页>> 技术小册>> PHP合辑3-数组函数

array_replace()函数是PHP的内置函数,它接受用逗号(,)分隔的数组列表作为参数,并替换第一个数组中与其他数组具有相同键的值。替换按照以下规则进行:

如果第一个数组中的键在第二个数组中也存在,则第一个数组中该键的值被替换为第二个数组中该键的值。
如果第二个数组中的键在第一个数组中不存在,则会在第一个数组中创建该键,并将第二个数组中该键的值复制到第一个数组中。
如果第一个数组中的键在后续的任何数组中都不存在,则该键的值在第一个数组中保持不变。
数组按照它们传递给函数的顺序进行处理,因此如果第一个数组的键出现在多个数组中,则其值将被最后出现的数组的值所替换。
语法:

array array_replace(array1,array2, …, $arrayn)
参数:此函数接受一个数组列表作为参数。函数的第一个参数是要被替换的数组。函数的其余参数是将值复制到第一个数组的数组。

返回值:此函数返回在修改了参数中的第一个数组后形成的一个数组。

示例:

  1. Input : $array1 = array("orange", "banana", "apple", "raspberry")
  2. $array2 = array(0 => "pineapple", 4 => "cherry")
  3. $array3 = array(0 => "grape")
  4. array_replace($array1, $array2, $array3)
  5. Output : Array
  6. (
  7. [0] => grape
  8. [1] => banana
  9. [2] => apple
  10. [3] => raspberry
  11. [4] => cherry
  12. )
  13. Input : $array1 = array("aim", "plan", "vision", "clarity")
  14. $array2 = array("word1" => "loneliness", "word2" => "happiness")
  15. $array3 = array(0 => "solitude")
  16. array_replace($array1, $array2, $array3)
  17. Output : Array
  18. (
  19. [0] => solitude
  20. [1] => plan
  21. [2] => vision
  22. [3] => clarity
  23. [word1] => loneliness
  24. [word2] => happiness
  25. )

在第一个例子中,键0同时存在于两个数组中,因此它的值被替换为最后出现的值,即grape,并且键4存在于第二个数组中,因此其值也被替换。在第二个例子中,键0存在于第三个数组中,因此它的值被替换为第一个数组。键word1和word2在第一个数组中不存在,因此它们连同其值一起添加到第一个数组中。


下面这些程序说明了PHP中的array_replace()函数:

  1. <?php
  2. // Array to be replaced
  3. $array1 = array("orange", "banana", "apple",
  4. "raspberry");
  5. // arrays that will replace the values
  6. // in the first array
  7. $array2 = array(0 => "pineapple", 4 => "cherry");
  8. $array3 = array(0 => "grape");
  9. $resArr = array_replace($array1, $array2,
  10. $array3);
  11. print_r($resArr);
  12. ?>

output:

  1. Array
  2. (
  3. [0] => grape
  4. [1] => banana
  5. [2] => apple
  6. [3] => raspberry
  7. [4] => cherry
  8. )

程序2:

  1. <?php
  2. // Array to be replaced
  3. $array1 = array("aim", "plan", "vision", "clarity");
  4. // arrays that will replace the values
  5. // in the first array
  6. $array2 = array("word1" => "loneliness",
  7. "word2" => "happiness");
  8. $array3 = array(0 => "solitude");
  9. $resArr = array_replace($array1, $array2,
  10. $array3);
  11. print_r($resArr);
  12. ?>

output:

  1. Array
  2. (
  3. [0] => solitude
  4. [1] => plan
  5. [2] => vision
  6. [3] => clarity
  7. [word1] => loneliness
  8. [word2] => happiness
  9. )