Ce face is_scalar
Valorile „scalare” sunt cele care conțin o singură valoare simplă: numere întregi, numere cu zecimale, texte și true/false.
null, tablourile, obiectele și resursele nu sunt scalare. Este o verificare utilă înainte de a transforma o valoare în text.
Parametri
| Parametru | Descriere |
|---|---|
$value |
Valoarea verificată. |
Ce returnează
true pentru int, float, string și bool, altfel false.
Exemple
Exemplul 1: Ce este scalar
<?php
foreach ([42, 1.5, "Ana", false, null, [1], new stdClass()] as $v) {
echo get_debug_type($v) . ": " . (is_scalar($v) ? "da" : "nu") . "\n";
}
Rezultat
int: da
float: da
string: da
bool: da
null: nu
array: nu
stdClass: nu
Exemplul 2: Afișare sigură a unor valori amestecate
<?php
$date = ["nume" => "Ana", "varsta" => 25, "adrese" => ["Iași"], "nota" => null];
foreach ($date as $cheie => $v) {
echo "$cheie: " . (is_scalar($v) ? $v : json_encode($v, JSON_UNESCAPED_UNICODE)) . "\n";
}
Rezultat
nume: Ana
varsta: 25
adrese: ["Iași"]
nota: null
Greșeli frecvente
- Te aștepți ca
nullsă fie scalar.is_scalar(null)estefalse.
Comenzi înrudite
is_string: Verifică dacă o valoare este de tip text (string).is_numeric: Verifică dacă o valoare este un număr sau un text care arată ca un număr.gettype: Returnează tipul unei variabile, ca text: integer, string, array etc.