Quiero eliminar valores nulos de esta matriz.
Array( [0] => Array( [fcmToken] => 123 ) [1] => Array( [fcmToken] => ) [2] => Array( [fcmToken] => 789 ) )Resultados previstos
Array( [0] => Array( [fcmToken] => 123 ) [1] => Array( [fcmToken] => 789 ) )Use array_filter con una devolución de llamada:
$r = array_filter($array, function($v) { return !empty($v['fcmToken']); }); Para verificar exactamente null :
$r = array_filter($array, function($v) { return !is_null($v['fcmToken']); });Aquí estamos usando foreach para iterar sobre valores y usando $value para $value non-empty $value["fcmToken"]
$result=array(); foreach($array as $key => $value) { if(!empty($value["fcmToken"])) { $result[]=$value; } } print_r($result);Producción:
Array ( [0] => Array ( [fcmToken] => dfqVhqdqhpk ) [1] => Array ( [fcmToken] => dfgdfhqdqhpk ) )La mejor y más fácil solución de una sola línea para filtrar matrices multidimensionales como se muestra a continuación.
$aryMain = array_filter(array_map('array_filter', $aryMain));Espero que esta solución te funcione. para obtener más detalles, visite el siguiente enlace.
PHP: elimine cadenas de matriz vacías en una matriz multidimensional