php去除數組空值
Ⅰ Thinkphp如何清空靜態數組
ThinkPHP清空靜態數組還是使用原生PHP來做,有幾種方法。
使用unset函數。如:unset($array); // 將變數array注銷
直接重新賦值。如:$arr = array(); // 將變數arr賦值為空數組
$arr = ''; // 將變數arr賦值為空字元串
Ⅱ 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 )
(2)php去除數組空值擴展閱讀:
循環遍歷數組,把有值的元素放進一個新數組中。
$arr = array();
foreach ($urlArr as $key => $val) {
if (empty($val)) {continue;}
$arr[] = $val;
}
$arr是去除空元素的新數組。
Ⅲ php foreach 遇到空數組怎麼辦
PHP刪除數組中空值的方法:
1.去掉數組的空值是都是強寫foreach或者while的,利用這兩個語法結構來刪除數組中的空元素,簡單代碼如下:
<?php
foreach($arras$k=>$v){
if(!$v)
unset($arr[$k]);
}
?>
這種方法的效率不是很高
2. array_filter函數的功能是利用回調函數來對數組進行過濾,一直都以為用回調函數才能處理,卻沒有發現手冊下面還有一句,如果沒有回調函數,那麼默認就是刪除數組中值為false的項目。代碼如下:
<?php
$entry=array(
0=>'foo',
1=>false,
2=>-1,
3=>null,
4=>''
);
print_r(array_filter($entry));
?>
輸出值為:
Array
(
[0]=>foo
[2]=>-1
)
這種方法的效率不錯
Ⅳ php多條件查詢問題,怎麼過濾空值
是的正如你所說有兩種解決方案,第一種是採用PHP的方式,先判斷數據的合法性,比如是否提交了空值(推薦使用,沒有垃圾數據);第二種不做任何判斷,空值也能提交到資料庫,只是在sql查詢時過濾空值數據(不推薦使用,有垃圾數據)。
解決方案1(通過PHP過濾空值數據):
if($_POST['欄位']=='')exit('<scripttype="text/javascript">alert("數據不合法!");history.back();</script>');//依此類推,逐一判斷表單$_POST數據
解決方案2(通過SQL查詢來過濾空值數據):
SELECT`欄位名`FROM`表名`WHERE`欄位1`NOTIN('',NULL)AND`欄位2`NOTIN('',NULL)...;
以上就是兩種解決方案,我推薦兩種方案組合使用,這樣確保萬無一失,如有問題歡迎追問~
Ⅳ php怎麼樣去除數組中的空值
其實很簡單,用array_diff()函數即可:
$newArray = array_diff($orgArray, array(null,'null','',' '));
array_diff() 返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保留不變。
Ⅵ 找出php數組中最大數、最小數和空值
可以循環一次數組進行判斷:
foreach($arr as $k=>$v){
if( $k== 0 ){
$min = $v;
$max = $v;
}else{
$min = min($min,$v);
$max = max($max,$v);
}
if($v == ''){
$kong = $k;
}
}
$max就是最大值;$min是最小值, $arr[$kong]就是空值
Ⅶ 在數組中搜索給定的值,如果成功則返回首個相應的鍵名
array_search
(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_search — 在數組中搜索給定的值,如果成功則返回首個相應的鍵名
說明
array_search ( mixed $needle , array $haystack [, bool $strict = false ] ) : mixed
大海撈針,在大海(haystack)中搜索針( needle 參數)。
參數
needle
搜索的值。
注意:
如果 needle 是字元串,則比較以區分大小寫的方式進行。
haystack
這個數組。
strict
如果可選的第三個參數 strict 為 true,則 array_search() 將在 haystack 中檢查完全相同的元素。 這意味著同樣嚴格比較 haystack 里 needle 的 類型,並且對象需是同一個實例。
返回值
如果找到了 needle 則返回它的鍵,否則返回 false。
如果 needle 在 haystack 中出現不止一次,則返回第一個匹配的鍵。要返回所有匹配值的鍵,應該用 array_keys() 加上可選參數 search_value 來代替。
警告
此函數可能返回布爾值 false,但也可能返回等同於 false 的非布爾值。請閱讀 布爾類型章節以獲取更多信息。應使用 === 運算符來測試此函數的返回值。
更新日誌
版本 說明
5.3.0 As with all internal PHP functions as of 5.3.0, array_search() returns null if invalid parameters are passed to it.
Ⅷ php 數組如何去空值
<?php
$arr=array('MC34063 ONS 3500 0.24 1445+ DIP-8 原裝 深圳','','LM339 ST 4000 0.32 1437+ SOP-8 原裝 深圳','','MAX802 MAX 2500 1.21429+ SOP-8 原裝 深圳','');
echo"<strong>原始數組</strong>:";
var_mp($arr);
echo"<hr/><strong>清除空值後的數組</strong>:";
$arr=array_filter($arr);
var_mp($arr);
echo"<hr/><strong>隨機取一個值</strong>:";
echo$arr[array_rand($arr)];
echo"<hr/><strong>取一個確定的值</strong>:";
echo$arr[0];
echo"<hr/><strong>輸出所有的值</strong>:";
foreach($arras$key=>$val){
echo"<br/>索引為:{$key},值為:{$val}";
}
echo"<hr/>";
?>