is_scalar în PHP

Verifică dacă o valoare este simplă: int, float, string sau bool.

Sintaxă
is_scalar(mixed $value): bool

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 null să fie scalar. is_scalar(null) este false.

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.