簡體   English   中英

PHP如何檢查數組是否沒有鍵和值

[英]PHP How to check if array has not key and value

我正在使用由某人開發的一個自定義CMS,但出現問題以檢查陣列結果。

該函數通過傳遞userids數組來返回用戶名數組。

范例程式碼

$all_users = "1,5,9,10,25,40"; // getting from database

$user_ids = explode(',', $all_users);
$usernames  = get_userids_to_usernames($user_ids); //this returns usernames array by passing uesrids array

如果數據庫在該列中沒有用戶,則該函數將返回奇怪的空/空數組,如下所示。

后續代碼var_dump($用戶名);

array(1) { [""]=> NULL }

的print_r($用戶名);

(
    [] => 
)

現在的問題是,我想檢查數組是否為空或具有返回值,但是我嘗試了所有方法is_nullemptycount($usernames) > 0但這些都不起作用。

任何人都可以請我有條件地幫助我檢查數組是否有值或為空,如上述空結果。

這是一種解決方法

if (array_key_exists('', $a) && $a[''] === null) {
    unset($a['']);
}

然后檢查空虛

您可以使用in_array來檢查數組是否為空值,並使用array_key_exists來檢查鍵。

in_array("", $array)
array_key_exists("", $array)

http://php.net/manual/en/function.in-array.php

http://php.net/manual/fr/function.array-key-exists.php

遍歷數組,並檢查鍵或值是否為空或null

$newarray = [];
foreach($array as $key=>$value)
{
    if(is_null($value) || trim($value) == '' || is_null($value) || trim($key) == ''){
    continue; //skip the item
  }
        $newarray[$key] = $value;
}

如果要使用空,請嘗試使用數組過濾器

if (empty(array_filter($arr))) {
    //Do something
}

數組過濾器將自動為您刪除虛假值,並且如果需要更大的靈活性,則可以包括回調。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM