sqlite_udf_decode_binary
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_udf_decode_binary — Decodifica dati binari passati come parametri in UDF
Descrizione
$data
)Decodifica dati binari passati come parametri in UDF.
Occorre eseguire questa funzione sui parametri passati agli UDF se questi devono gestire dati binari, poiché la codifica dei dati binari utilizzata dal PHP nasconde il contenuto e li lascia quindi nel loro stato naturale, forma non codificata.
Il PHP non esegue questa codifica/decodifica in automatico, avrebbe impatti negativi sulle performance se lo facesse.
Elenco dei parametri
-
data -
I dati che saranno codificati, dati risultanti dalle funzioni sqlite_udf_encode_binary() o sqlite_escape_string()
Valori restituiti
La string decodificata.
Esempi
Example #1 Esempio di una funzione di aggregazione lunghezza_massima binary-safe
<?php
$data = array(
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
'ten',
);
$db = sqlite_open(':memory:');
sqlite_query($db, "CREATE TABLE strings(a)");
foreach ($data as $str) {
$str = sqlite_escape_string($str);
sqlite_query($db, "INSERT INTO strings VALUES ('$str')");
}
function max_len_step(&$context, $string)
{
$string = sqlite_udf_decode_binary($string);
if (strlen($string) > $context) {
$context = strlen($string);
}
}
function max_len_finalize(&$context)
{
return $context;
}
sqlite_create_aggregate($db, 'max_len', 'max_len_step', 'max_len_finalize');
var_dump(sqlite_array_query($db, 'SELECT max_len(a) from strings'));
?>
Vedere anche:
- sqlite_udf_encode_binary() - Codifica i dati binari prima di restituirli da un UDF
- sqlite_create_function() - Registra una funzione utente "regolare" da utilizzare nelle istruzioni SQL
- sqlite_create_aggregate() - Registra un aggregato UDF da utilizzare nelle istruzioni SQL
