首页 > 解决方案 > PHP array_map() 总是将我的第一个索引值更改为零值

问题描述

我在 Laravel 有一个控制器

这是我的收藏

$milestones = $this->getmilestones();
dump($milestones);

值是

array:3 [▼
  0 => "["109"
  1 => "110"
  2 => "111"]"
]

我根据这里的答案尝试了这段代码。所以,我有这样的代码

array_unshift($milestones, $milestones[0]);
unset($milestones[0]);
dump($milestones);

并且值为(索引已更改)

array:3 [▼
  1 => "["109"
  2 => "110"
  3 => "111"]"
]

因此,在取消集合后,我尝试使用 array_map 将字符串数组转换为整数数组。

$milestones = array_map('intval', $milestones);
dump($milestones);

但是,我仍然得到相同的值。第一个索引像这样返回 0

array:3 [▼
  1 => 0
  2 => 110
  3 => 111
]

我应该怎么办?

标签: laravelarray-map

解决方案


啊,终于得到了我想要的结果。我尝试删除方括号和双引号。因为里程碑是收集。所以我的代码是

$milestones = str_replace(array('[', ']', '"'),'',$milestones);

谢谢大家的帮助


推荐阅读