(PHP 4, PHP 5)
assert — Verifica se un'asserzione è FALSE
     assert() verifica se la data
     assertion è FALSE, nel caso intraprende le
     opportune azioni.
    
     Se il parametro assertion è una stringa 
     questo sarà considerato da  assert() come codice PHP.
     I vantaggi di usare le stringhe con assertion sono
     che si ha meno overhead nella verifica e la visualizzazione dei messaggi
     che contengono assertion quando questa
     fallisce. Ciò significa che se si passa una condizione booleana
     come assertion, questa condizione non sarà mostrata
     come parametro della funzione che può essere definita con assert_options(),
     la condizione sarò in stringa prima di chiamare la funzione handler, e il valore
     booleano FALSE viene convertito in una stringa vuota.
    
     Le asserzioni dovrebbero essere utilizzate solo per il debug. Si possono
     usare per controlli di coerenza che sono sempre TRUE
     e che, in caso contrario, indichino errori di programmazione,
     oppure per verificare la presenza o meni di certe caratteristiche, tipo le estensioni,
     oppure certi limiti di sistema o caratteristiche.
    
Le asserzioni non dovrebbero essere utilizzate per le normali operazioni di runtime quali il controllo dei parametri di input. Come regola si deve avere che il programma possa girare senza la presenza delle regole di asserzione.
Il comportamento di assert() può essere impostato tramite assert_options() oppure tramite .ini-settings come descritto nel pagine del manuale relative a quelle funzioni.
La funzione assert_options() e/o il parametro ASSERT_CALLBACK permetto di attivare una funzione di callback per gestire una asserzione fallita.
I callback di assert() sono particolarmente utili per costruire suite di test poiché permettono di catturare facilmente il codice passato all'assert, oltre alle informazioni su dove l'assert è scattato. Sebbene quest'ultime informazioni siano rilevabili anche con altri metodi, l'uso delle asserzione rende il tutto più semplice!
Le funzioni di callback devono accettare tre parametri. Il primo conterrà il nome del file in cui si trova l'asserzione fallita. Il secondo parametro conterrà il numero di linea dell'asserzione fallita, ed il terzo conterrà l'espressione dell'asserzione (se fornito - valori alfanumerici quali 1 o due" non saranno passati a questo parametro).
Example #1 Gestione di una asserzione fallita con codice personalizzato
<?php
// Attiva le asserzioni 
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);
// Crea la funzione personalizzata
function my_assert_handler($file, $line, $code) 
{
    echo "<hr>Assertion Failed:
        File '$file'<br />
        Line '$line'<br />
        Code '$code'<br /><hr />";
}
// Imposta il callback
assert_options(ASSERT_CALLBACK, 'my_assert_handler');
// Crea una asserzione che fallisce
assert('mysql_query("")');
?>