【问题标题】:How can I assign an array to another variable in php?如何将数组分配给php中的另一个变量?
【发布时间】:2012-03-04 06:17:21
【问题描述】:

我在php中定义了一个数组

    $letters = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","W","V","X","Y","Z");

然后我尝试将数组分配给一个新变量,这也是一个数组:

   $new_array = array();
   $new_array =  $letters;

但它不起作用,为什么?

【问题讨论】:

  • 假设它们在同一个范围内应该可以工作。到底什么不工作?
  • 你说的不工作是什么意思?
  • 那么,$new_array 包含哪些(如果不是字母数组)?请更具体。
  • 它是空的,我省略了 $new_array = array();现在好了
  • 显然 OP 从未遇到过 range('A','Z')

标签: php arrays variable-assignment


【解决方案1】:

你可以这样做

$new_array = $letters;

您不必指定类型,因为它是隐含的。

【讨论】:

  • 现在,我很困惑.. 这不就是他所拥有的吗?为什么声明$new_array 的类型会改变什么?有人,请解释一下。 It works here
【解决方案2】:

您不需要创建一个空数组。你的第二个作业实际上是正确的。一个不错的技巧是使用 var_dump() 转储变量的内容以查看其实际值。

试试这个:

$letters = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","W","V","X","Y","Z");
$new_array = $letters;
var_dump($new_array);

【讨论】:

    【解决方案3】:

    Josh 提到了范围,这可能是这里的问题。如果$letters 是一个全局变量并且对$new_array 的赋值发生在函数中,那么$letters 必须在函数中声明为全局变量才能使用。

    【讨论】:

      【解决方案4】:

      使用克隆关键字

      var2 = clone var1;
      

      分享是关怀。用你的知识帮助别人:)

      【讨论】:

        猜你喜欢
        • 2020-08-27
        • 1970-01-01
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-25
        • 2023-03-04
        相关资源
        最近更新 更多