【问题标题】:Making associative array制作关联数组
【发布时间】:2014-12-29 17:22:18
【问题描述】:

我的目标是根据 for 循环的值制作 ant assoc 数组。

//$from_time value is 6 and $to_time value is 23

for ($i = $from_time; $i <= $to_time; $i++) {
        $working_time_array[] = $i;
    }
echo json_encode($working_time_array);

我在 AJAX 成功时得到的输出,当我 console.log 时,我得到这样的结果:

["6",7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]

首选结果是

["6","7","8","9","10"]... etc

【问题讨论】:

    标签: php arrays string integer associative-array


    【解决方案1】:

    两个结果之间的唯一区别是一个结果集包含整数,另一个包含字符串。如果您希望这些值是字符串,只需在将它们分配给数组时进行转换:

    for ($i = $from_time; $i <= $to_time; $i++) {
        $working_time_array[] = (string) $i;
    }
    

    这真的不应该是必要的,除非您的客户端只需要字符串。

    【讨论】:

    • 是的,这就是问题所在。我是数组新手,所以我会问更多问题。现在很好,但是是否可以删除其他数组中相同的值。如本例中 $working_time_array[] 结果为 ["6","7","8","9"].. 我的另一个 $array[] 结果为 ["6","7"]。如何从我的 $working_time_array[] 中删除 $array 中的值?
    【解决方案2】:

    您需要先将 $i 转换为字符串,然后再将其推送到数组。

    for ($i = $from_time; $i <= $to_time; $i++) {
            $working_time_array[] = (string)$i;
    }
    

    【讨论】:

      【解决方案3】:

      为什么要将 int 转换为字符串?

      为了你的目标,这应该有效

      for ($i = $from_time; $i <= $to_time; $i++) {
          $working_time_array[] = "$i";
      }
      echo json_encode($working_time_array);
      

      【讨论】:

        猜你喜欢
        • 2019-01-30
        • 1970-01-01
        • 2018-11-29
        • 1970-01-01
        • 2018-11-17
        • 2016-07-03
        • 2013-06-14
        • 1970-01-01
        • 2020-04-24
        相关资源
        最近更新 更多