第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從php中數組的右側刪除空值?

如何從php中數組的右側刪除空值?

PHP
手掌心 2022-06-17 11:01:28
我有以下元素的數組[null, null, 1, 4, 6, null, null, null, null]我如何才能從數組中僅刪除右側的空值,使其變?yōu)閇null, null, 1, 4, 6]我試過array_filter了,但它刪除了所有的虛假值$arr = array_filter([null, null, 1, 4, 6, null, null, null, null]);結果是$arr = [1, 4, 6]
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

您可以利用該array_filter結果本身。你得到所有不是的值NULL。所以從那個數組中獲取,這就是你對函數的最終限制。last keyarray_slice


<?php


$arr = [null, null, 1, 4, 6, null, null, null, null,null];


$filtered_arr = array_filter($arr);

end($filtered_arr);

$limit = key($filtered_arr) + 1;

$arr = array_slice($arr,0,$limit);

print_r($arr);

演示: https ://3v4l.org/RVcjt


更新:


如果輸入數組包含 a 0,則上述答案可能會導致不正確的結果。為了解決這個問題,我們可以只從數組中過濾掉 NULL 值。


<?php


$arr = [null, null, 1, 4, 6, null, 0, null, null,null];


$filtered_arr = array_filter($arr,function($value){

    return !is_null($value);

});

end($filtered_arr);

$limit = key($filtered_arr) + 1;

$arr = array_slice($arr,0,$limit);

print_r($arr);

演示: https ://3v4l.org/S5a96


查看完整回答
反對 回復 2022-06-17
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

你可以試試下面的代碼


$notNull = true;

$item = [null, null, 1, 4, 6, null, null, null, null];

$output = array();

for($i=count($item)-1;$i>=0;$i--){


    if( is_null( $item[$i]) &&  $notNull ){

        continue;

    }

    else{

        $notNull = false;

        $output[] = $item[$i];  

    }

}

$output = array_reverse($output);


查看完整回答
反對 回復 2022-06-17
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

您可以使用array_pop()刪除最后的項目,直到遇到非空值(或空數組),然后將最后一個項目推回......


$array = [null, null, 1, 4, 6, null, null, null, null];


while( count($array) > 0 && ($end = array_pop($array)) === null );

array_push($array, $end);

print_r($array);

這使...


Array

(

    [0] => 

    [1] => 

    [2] => 1

    [3] => 4

    [4] => 6

)


查看完整回答
反對 回復 2022-06-17
  • 3 回答
  • 0 關注
  • 115 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號