【问题标题】:Converting arrray values to integer from request in laravel将数组值从laravel中的请求转换为整数
【发布时间】:2019-06-12 17:51:34
【问题描述】:

我想array_diff() Laravel 中的两个数组。第一个数组如下所示:

    array:4 [
  0 => 7248
  1 => 7249
  2 => 7250
  3 => 7251
]

第二个:

array:4 [
  0 => "7248"
  1 => "7249"
  2 => "7250"
  3 => "7251"
]

这是我用$request->request->get('ids', []); 得到的。

如何将一个数组转换为字符串或整数? 由于这些数组可能会变大,我真的不想一次转换每个值。

更新:

array_diff() 正在做它的工作,尽管有字符串与整数。

提前致谢!

【问题讨论】:

  • 你不需要转换任何东西。 array_diff() 使用 (string) $item1 === (string) $item2,所以它开箱即用。
  • PHP 在进行比较时足够智能:-3v4l.org/apMnU3v4l.org/am8Mp
  • 感谢您的解释。如果 php 是“足够智能”是另一个主题:) 就像我在合并之后所做的那样,我有一些值作为字符串,一些作为 int 在那里......我不喜欢......

标签: php laravel array-difference


【解决方案1】:
$newArray = array_map('intval', $request->request->get('ids', []));

此代码会将您的字符串字段转换为 int,以便您进行比较。

【讨论】:

  • 嗯,为什么这个答案被否决了?它适用于 OP 的问题。
  • 实际上,这是正确的答案,因为它准确地回答了 OP 的问题,即“如何将一个数组转换为字符串或整数?”。说array_diff 不起作用只是分心:)
  • 谢谢。虽然它不是真正必要的,但它使生成的数组更好。 :)
猜你喜欢
  • 2016-08-26
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
相关资源
最近更新 更多