במדריך זה נלמד איך להסיר ערכים ריקים ממערך ב-PHP.
פונקציה בשימוש:
()array_filter
ניתן להשתמש בפונקציה ()array_filter כדי להסיר או לסנן ערכים ריקים ממערך.
פונקציה זו מסננת בדרך כלל את הערכים של מערך באמצעות פונקציית Callback.
עם זאת, אם לא צוינה פונקציית Callback, כל הערכים הריקים של המערך יוסרו, כגון "" (מחרוזת ריקה), 0 (0 כמספר שלם), 0.0 (0 כצף), "0" (0 כמספר שלם).
מחרוזת), NULL, FALSE ו- ()array (מערך ריק).
בואו ננסה דוגמה כדי להבין איך זה עובד בפועל:
<?php
$array = array("Sunday", "", 0, 2, null, -5, "0", "Spring", 10, false);
var_dump($array);
echo "<br>";
// Filtering the array
$result = array_filter($array);
var_dump($result);
?>
פלט:
array (size=10)
0 => string 'Sunday' (length=6)
1 => string '' (length=0)
2 => int 0
3 => int 2
4 => null
5 => int -5
6 => string '0' (length=1)
7 => string 'Spring' (length=6)
8 => int 10
9 => boolean false
array (size=5)
0 => string 'Sunday' (length=6)
3 => int 2
5 => int -5
7 => string 'Spring' (length=6)
8 => int 10
בדוגמה שלמעלה הערכים 0 ו-"0" מוסרים מהמערך.
אם ברצונכם לשמור אותם, תוכלו להגדיר פונקציית callback כפי שמוצג בדוגמה הבאה:
<?php
$array = array("Sunday", "", 0, 2, null, -5, "0", "Spring", 10, false);
var_dump($array);
echo "<br>";
// Defining a callback function
function filterArray($var){
return ($var !== NULL && $var !== FALSE && $var !== "");
}
// Filtering the array
$result = array_filter($array, "myFilter");
var_dump($result);
?>
פלט:
array (size=10)
0 => string 'Sunday' (length=6)
1 => string '' (length=0)
2 => int 0
3 => int 2
4 => null
5 => int -5
6 => string '0' (length=1)
7 => string 'Spring' (length=6)
8 => int 10
9 => boolean false
array (size=7)
0 => string 'Sunday' (length=6)
2 => int 0
3 => int 2
5 => int -5
6 => string '0' (length=1)
7 => string 'Spring' (length=6)
8 => int 10
פונקציית ה-callback בשם ()filterArray נקראת עבור כל אלמנט של המערך.
אם ()filterArray מחזיר TRUE, אז האלמנט הזה יצורף למערך התוצאה, אחרת לא.