gpt4 book ai didi

PHP Compact() 函数返回一个空数组

转载 作者:行者123 更新时间:2023-12-02 06:16:24 25 4
gpt4 key购买 nike

我有一个数组,其中包含我使用带有 EXTR_PREFIX_ALL 标志集的 extract() 函数创建的局部变量。之后,我对由 extract() 创建的新前缀变量调用了 compact(),但使用 print_r() 显示从 compact() 创建的数组给出了一个空数组()。示例代码如下:

<?php
$cities = array('City1' => "Chicago", 'City2' => "Boston");

extract($cities, EXTR_PREFIX_ALL, "new");
echo "City 1: {$new_City1} City 2: {$new_City2}" . "<br><br>";

$new_cities = compact($new_City1, $new_City2);
print_r($new_cities);
?>

我使用的是 PHP 5.6 版。 我在这里做错了什么?

最佳答案

在您当前的代码中,您实际上是在提供您尝试使用的每个变量的值 compact , 不是变量的名称。它的行为就像一个可变变量行为。为了使其正常工作,您以字符串或数组形式提供变量名称:

$new_cities = compact(array('new_City1', 'new_City2'));
// or
$new_cities = compact('new_City1', 'new_City2');
这是 manual 的摘录:

Parameters

varname1

compact() takes a variable number of parameters. Each parameter can be either a string containing the name of the variable, or an array of variable names. The array can contain other arrays of variable names inside it; compact() handles it recursively.

关于PHP Compact() 函数返回一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com