doushuangai9733 2012-02-22 13:08
浏览 207
已采纳

PHP - 如何将数组的空值移动到其最后位置

How can I move the empty values of an array to its last position?

For example:

$givenArray = array( 
                    0=>'green', 
                    1=>'', 
                    2=>'red', 
                    3=>'', 
                    4=>'blue'
                  );

$requiredArray = array(
                       0=>'green',
                       1=>'red',
                       2=>'blue',
                       3=>'',
                       4=>'' 
                      );

Provided that the non empty values should not be sorted. It should be as it is, i.e. only the empty values should move to the end of an array.

I need exactly what my examples show.

  • 写回答

6条回答 默认 最新

  • duan1979768678 2012-02-22 14:00
    关注

    There are much better/more elegant answers in this thread already, but this works too:

    //strip empties and move to end
    foreach ($givenArray as $key => $value)
    { 
        if ($value === "")
        { 
            unset($givenArray[$key]);
            $givenArray[] = $value;
        }
    }
    
    // rebuild array index
    $givenArray = array_values($givenArray);
    

    Codepad demo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services