【问题标题】:Replace numbers with array用数组替换数字
【发布时间】:2017-03-16 05:22:19
【问题描述】:

如何放置整数值,由另一个数组获取,而不是像这样的 1,2,3?

$arr_id = array(1,2,3); //this arr_id go to line 2 instead of 1,2,3
'id' => array('$in' => array(1,2,3))

好吧,用 $arr_id 代替 "1,2,3"... 像这样

'id' => array('$in' => array($arr_id))

问题是 1,2,3 是数字,但在我的 $arr_id 我有字符串。如果我尝试将字符串转换为 int 我也遇到了“,”的问题

这里

array($arr_id))

我需要用 $arr_id 取整数(不是字符串),用 ","... 分隔。

【问题讨论】:

  • 看起来它们已经是整数了。你是说$arr_id实际上等于字符串“1,2,3”吗?您能否通过代码示例准确说明您从什么开始以及您希望以什么结束?
  • 或者它已经是一个整数数组,而您正试图把它变成“1,2,3”?
  • @Don'tPanic 我正在尝试将其放在 1,2,3 行中的 'id' => array('$in' => array(1,2,3) )。它以字符串开头(由 echo gettype($arr_id); 验证)。请阅读下面的第一个答案和相关的 cmets... 有一个进展:)
  • 如果我写了 'id' => array('$in' => array($array_replaced[1])) 或 'id' => array('$in' => array($ array_replaced[2])) 代码工作正常。但我不能写[整数。很奇怪的问题....
  • 我真的很想帮忙。但是从您的描述中,我并没有真正理解您从什么开始或想要以什么结束。您可以编辑您的问题以添加显示该问题的代码示例吗?

标签: php arrays


【解决方案1】:

您可以在 PHP 中使用以下方法将字符串数组转换为 int 数组:

$arr_id_str = array("1","2","3");
var_dump(array_map('intval',$arr_id_str));

【讨论】:

  • 好的...您的代码是正确的,但是...有一个问题:如果我把 $array_replaced $array_replaced = array_map('intval',$arr_id_str);在 'id' => array('$in' => array($array_replaced)) 代码不起作用警告:array_values() 期望参数 1 是数组,null 给定我不能写 $array_replaced[1] or 2 or 3... 因为写 1,2,3 是一样的。这个字段是动态的.....
猜你喜欢
  • 2013-11-08
  • 1970-01-01
  • 2012-05-14
  • 2019-12-25
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多