array_replace() Function
array_replace()函数是PHP中的内置函数,它以逗号分隔的数组列表作为参数,并替换在其他数组中具有相同键值的第一个数组的所有值。更换依据如下规则:
- 如果第一个数组中的键也存在于第二个数组中,那么它在第一个数组中的值将被第二个数组中的键的值替换。
- 如果第二个数组中的一个键不存在于第一个数组中,那么它将在第一个数组中创建,而第二个数组中的值将在第一个数组中复制。
- 如果第一个数组中的键不在任何后续数组中,则该键的值在第一个数组中保持不变。
- 数组按照传递给函数的顺序进行处理,因此,如果第一个数组的键出现在多个数组中,那么它的值将被上一次出现的数组的值替换。
语法
1 | array array_replace ( $array1, $array2, ...., $arrayn ) |
参数:此函数接受数组列表作为参数。函数的第一个参数是要替换的数组。函数的其余参数是数组,其值将复制到第一个数组中。
返回值:该函数返回修改第一个参数数组后形成的数组。
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Input : $array1 = array("orange", "banana", "apple", "raspberry") $array2 = array(0 => "pineapple", 4 => "cherry") $array3 = array(0 => "grape") array_replace($array1, $array2, $array3) Output : Array ( [0] => grape [1] => banana [2] => apple [3] => raspberry [4] => cherry ) Input : $array1 = array("aim", "plan", "vision", "clarity") $array2 = array("word1" => "loneliness", "word2" => "happiness") $array3 = array(0 => "solitude") array_replace($array1, $array2, $array3) Output : Array ( [0] => solitude [1] => plan [2] => vision [3] => clarity [word1] => loneliness [word2] => happiness ) |
在第一个例子中,键0出现在两个数组中,因此它的值被替换为它最后出现的值,即grape,而键4出现在第二个数组中,因此它的值也被替换。
在第二个示例中,键0出现在第三个数组中,因此在第一个数组中替换了它的值。键word1和word2不在第一个数组中,因此它们与值一起被添加到第一个数组中。
下面的程序演示了PHP中的array_replace()函数:
程序1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php // Array to be replaced $array1 = array("orange", "banana", "apple", "raspberry"); // arrays that will replace the values // in the first array $array2 = array(0 => "pineapple", 4 => "cherry"); $array3 = array(0 => "grape"); $resArr = array_replace($array1, $array2, $array3); print_r($resArr); ?> |
输出
1 2 3 4 5 6 7 8 | Array ( [0] => grape [1] => banana [2] => apple [3] => raspberry [4] => cherry ) |
程序2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php // Array to be replaced $array1 = array("aim", "plan", "vision", "clarity"); // arrays that will replace the values // in the first array $array2 = array("word1" => "loneliness", "word2" => "happiness"); $array3 = array(0 => "solitude"); $resArr = array_replace($array1, $array2, $array3); print_r($resArr); ?> |
输出
1 2 3 4 5 6 7 8 9 | Array ( [0] => solitude [1] => plan [2] => vision [3] => clarity [word1] => loneliness [word2] => happiness ) |
参考