導航:首頁 > 編程語言 > php刪除一維數組

php刪除一維數組

發布時間:2022-09-27 07:08:01

1. php中如何去除一個數組中的空元素

array_filter() 函數用回調函數過濾數組中的值。

該函數把輸入數組中的每個鍵值傳給回調函數。如果回調函數返回 true,則把輸入數組中的當前鍵值返回結果數組中。數組鍵名保持不變。

例如:

<?php

function test_odd($var)

{

return($var & 1);

}

$a1=array("a","b",2,3,4);

print_r(array_filter($a1,"test_odd"));

?>
運行結果:Array ( [3] => 3 )

(1)php刪除一維數組擴展閱讀:

循環遍歷數組,把有值的元素放進一個新數組中。

$arr = array();

foreach ($urlArr as $key => $val) {

if (empty($val)) {continue;}

$arr[] = $val;

}

$arr是去除空元素的新數組。

2. php如何從數組中刪除一個元素

如果要在某個數組中刪除一個元素,可以直接用的unset,例子代碼:
<?php
$arr
=
array('a','b','c','d');
print_r($arr);
unset($arr[1]);
print_r($arr);
?>
以上代碼輸出的結果如下:
E:\TEMP\文件\exp>a.phpArray(
[0]
=>
a
[1]
=>
b
[2]
=>
c
[3]
=>
d)Array(
[0]
=>
a
[2]
=>
c
[3]
=>
d)

3. php 刪除多維數組指定元素

foreach($data_arras$key=>$data){
if(in_array('id',array_keys($data))){
unset($data_arr[$key]['id']);
}
}

4. php 怎麼刪除第一個數組

刪除第一個數組:unset($arr[0]);

刪除數組第一元素
$arr1=array('apple','banana','orange');
$result1=array_shift($arr1);
print_r($result1);
print_r($arr1);

5. php如何刪除兩個數組中相同的元素

首先,我看到這個問題中描述是「如何刪除兩個數組中相同的元素」,雖然那個人寫了一大堆,竟然用的是array_unique(),從分析到給出的demo一直在解決如何刪除「一個」數組中「重復」的元素。汗!答非所問的答案竟然會被採納。

這里,簡單分析一下提問者的真實意圖,分以下2種情況:

1.現在有2個一維數組, $arr1和$arr2,現在要刪除 $arr1 中存在於 $arr2 的元素。

解決方案:使用array_diff對比返回在 array1 中但是不在 array2 及任何其它參數數組中的值,代碼如下:

<?php
$arr1=array(1,2,3,4);
$arr2=array(2,4);
//這一句即可
$arr1=array_diff($arr1,$arr2);
var_mp($arr1);

2.先聲明一下,我看了lt318025大神給出的答案,他的思維非常活躍,已經分了2種情況。

現在有2個一維數組,$a和$b,即刪除$a中存在於$b的元素,刪除$b中$a存在的元素,組後合並返回。

可是lt318025大神用的PHP版本太高,給出的demo在低版本PHP下運行失敗,這里修正一下:

<?php
$a=array(1,2,3);
$b=array(2,3,4);
//得到存在於$a但不存在於$b中的元素組成的數組
$c=array_diff($a,$b);
//這里簡單求出在$a但不在$b中的元素
var_mp($c);

//得到存在於$a但不存在於$b中的元素組成的數組與存在於$b但不存在於$a中的元素組成的數組的並集
$d=array_merge(array_diff($a,$b),array_diff($b,$a));
//這里徹底剔除了同時存在於$a和$b中的元素
var_mp($d);

究竟是哪一種情況,這需要看提問者的需求了。

6. php中一維或多維數組去除重復項

方案一
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$arr1 = array_flip($arr);
$arr2 = array_flip($arr1);
print_r($arr2);
方案二
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$a = array_count_values($arr);
$b = array_keys($a);
print_r($b);
方案三
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
foreach($arr as $k=>$v){
$arr1[$v] = $k;
$arr2 = array_flip($arr1);
}
print_r($arr2);
方案四
$arr = array("0a","1b","2c","3d","4e","5f","6g","0a","2c","4e","6g","6g");
$arr1 = array_unique($arr);
print_r($arr1);

都是剛剛我實驗出來的 都可以封裝起來用遞歸實現多維去掉重復項

7. php中如何刪除二維數組中含有指定元素的所有一維數組要求如下:

foreach( $arr as $key => $value ) {
if(in_array('w',$value)) unset($arr[$key]);
}

8. PHP數組問題,怎麼把array去掉,變成一維數組

舉個例子吧,以下面的代碼為例,將其變成一維數組。
$msg = array(
array(
'id'=>'45',
'name'=>'jack'
),
array(
'id'=>'34',
'name'=>'mary'
),
array(
'id'=>'78',
'name'=>'lili'
),
);
第一種方法:
復制代碼 代碼如下:
foreach($msg as $k => $v){
$ids[] = $id;
$names[] = $name;
}
第二種方法:
復制代碼 代碼如下:
$ids = array_column($msg, 'id');
$names = array_column($msg, 'name');
以上兩種解法print_r($names);後的結果為:
復制代碼 代碼如下:
Array(
[0]=>jack
[1]=>mary
[2]=>lili
)
注意:array_column();可以有第三個參數,如 $n = array_column($msg, 'name', 'id');
print_r($n);的結果為:
復制代碼 代碼如下:
Array(
[45]=>jack
[34]=>mary
[78]=>lili
)

9. php刪除數組中的一個元素,其他元素的順序會改變嗎

順序的話,少了一個肯定向前啊。
如果是鍵值,那麼鍵值也不會改變。
(好像你在排隊一下,少一個人肯定後面的向前走,不會出現什麼順序打亂之類的。)

如果你用的特定函數,比如array_shift() 函數的話(並且鍵值是自己設定的話,就不會改變鍵名;如果自動生成,會幫你重新排列鍵名,順序不管怎麼樣都不會打亂,最多就是鍵名打斷;除非這個函數說了,會隨即打亂排序,那就會打亂咯。)

-----------
不採納?我繼續補充~

例如:
鍵值:1 2 3 4 5
對應:A B C D E
如果我用unset 刪除了鍵值為4的D,那麼,數組的排序就是:
鍵值:1 2 3 5
對應:A B C E
也就是少了一個數

如果這回我用的array_shift()函數刪除鍵值為4的D,結果就是:
鍵值:0 1 2 3
對應:A B C E
它自動從0開始把鍵值重新排序。

如果不出意外的情況下,鍵值是直接對應具體的值的。也就說,鍵值位置的改變,值也會設置而變。

求採納T_T

閱讀全文

與php刪除一維數組相關的資料

熱點內容
情人節網站源碼 瀏覽:305
設備管理命令行 瀏覽:726
吃哺乳期的電影 瀏覽:190
把加密zip變成文件夾 瀏覽:213
linuxrecv阻塞 瀏覽:46
java模擬cookie 瀏覽:175
主角變身女收女的變百小說 瀏覽:758
粉筆教育app從哪裡看做過的題 瀏覽:391
app數據包在哪裡找到 瀏覽:923
百煉成仙綠帽改編1-11 瀏覽:109
女主和一對雙胞胎兄弟 瀏覽:437
刀劍神域小說TXT 瀏覽:1000
php獲取文件地址 瀏覽:578
linuxsed替換字元 瀏覽:413
如何填寫國家反詐中心app注冊使用 瀏覽:792
日本影視網站 瀏覽:933
伺服器點亮埠以後有什麼特徵 瀏覽:980
51單片機定時器pwm 瀏覽:685
民國修真 瀏覽:386
php數組作為參數傳遞 瀏覽:991