【问题标题】:how to loop though an array and unset variables in the array如何循环遍历数组并取消设置数组中的变量
【发布时间】:2014-11-02 05:52:02
【问题描述】:

有没有办法循环遍历一个数组并取消设置任何“=”的变量? 除了编写 4 if else 语句之外,我正在寻找一种更快的方法来执行此操作。我认为这可能有效,但我不知道是否可以这样做。

$a=""
$b="123"
$c=""
$d"123"

$var=array($a,$b,$c,$d)

我正在尝试遍历 $var 数组以获取

$var= array($b,$d)

这甚至可能吗,还是我应该坚持写 4 if else 语句?

【问题讨论】:

  • 展示你的尝试。
  • $var = array_filter($var);
  • foreach($var as $k=>$v) if(!isset($v[0])) unset($var[$k]); $var = array_filter($var) 就像@MarkBaker 说的那样。
  • array_filter 这就是我要找的东西,谢谢

标签: php arrays loops foreach unset


【解决方案1】:

看看这里:How to delete object from array inside foreach loop? 或在这里: How do you remove an array element in a foreach loop?

foreach ($array as $key => $value) {
  if($value == "") {
    unset($array[$key]);
  } 
}

祝你好运

【讨论】:

    【解决方案2】:
    $x=["","123","","345"];
    $var = array_filter($x);
    print_r($var);
    


    结果:
    Array
    (
        [1] => 123
        [3] => 345
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 2015-11-11
      • 2013-08-30
      • 2021-11-02
      相关资源
      最近更新 更多