【问题标题】:removing numbers from a variable using php使用php从变量中删除数字
【发布时间】:2014-05-14 10:41:45
【问题描述】:

我试图从中删除值的变量称为 $order

例如 - $order 是 485,894,1048,1040

我正在尝试删除某些数字,这些数字每次存储为 $drinks_order 时都会有所不同

例如 - $drinks_order 是 1048,1040

所以基本上在上面的例子中,我希望从 $order 中删除 1048 和 1040,所以我留下了一个新的 $food_order 变量,它应该是 $food_order=485,894;

我一直在尝试这段代码,但它似乎无法正常工作

$nums = explode(',', $order);
$nums = array_diff($nums, array($drinks_order));
$food_order = implode(',', $nums);

返回 $food_order 为 485,894,1048,1040

但是,当我测试将 $drinks_order 的实际数量放入代码中时,它会正确地将它们从 $food_order 变量中删除

$nums = explode(',', $order);
$nums = array_diff($nums, array(1048,1040));
$food_order = implode(',', $nums);

返回 $food_order 为 485,894

【问题讨论】:

  • 我不明白。你说:$food_order which should be $food_order=485,894;,然后说:Returns $food_order as 485,894。这不是正确的行为吗?
  • @BenM - 在它起作用的情况下,他有一个数组作为第二个参数,在它不起作用的情况下,他有一个等于1048,1040的字符串。
  • 是的,我的错。我误解了这个问题。

标签: php arrays explode implode


【解决方案1】:
$drinks_order = '1048,1040'; //must be a string
$nums = explode(',', $order);
$nums = array_diff($nums, explode(',', $drinks_order));
$food_order = implode(',', $nums);

【讨论】:

  • @BenM ,他有语法错误,但他也爆炸了字符串,所以不完全相同。
  • 修复了语法错误,代码不一样。他正在将一个字符串转换为一个数组,它将返回array([0] => '1048,1040'),它不会在逗号上爆炸。
猜你喜欢
  • 1970-01-01
  • 2017-10-19
  • 1970-01-01
  • 2014-08-04
  • 2011-01-14
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多