add json func

This commit is contained in:
2022-04-03 09:04:24 +03:00
parent 909cd73762
commit a42013753a
39 changed files with 83 additions and 0 deletions

1
~/PHP/Fenom.md Normal file
View File

@@ -0,0 +1 @@
# Fenom

11
~/PHP/README.md Normal file
View File

@@ -0,0 +1,11 @@
# PHP
## std
- [`gettype`](gettype.php) - Возвращает тип переменной
- [`in_array`](in_array.php) - Проверяет, присутствует ли значение в массиве
- [`json_decode`](json_decode.php) - Декодирует строку JSON
- [`json_encode`](json_encode.php) - Возвращает JSON-представление данных
- [`SQLite3`](sqlite3.php) - Простой использования класса SQLite3
## Libs
- [`Fenom`](Fenom.md) - fenom

18
~/PHP/gettype.php Normal file
View File

@@ -0,0 +1,18 @@
<?php
// gettype(mixed $value): string
$value = 1;
// Return Values
// Possible values for the returned string are:
//
// "boolean"
// "integer"
// "double" (for historical reasons "double" is returned in case of a float, and not simply "float")
// "string"
// "array"
// "object"
// "resource"
// "resource (closed)" as of PHP 7.2.0
// "NULL"
// "unknown type"
?>

10
~/PHP/in_array.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo("Got Irix");
}
if (in_array("mac", $os)) {
echo("Got mac");
}
?>

43
~/PHP/json_decode.php Normal file
View File

@@ -0,0 +1,43 @@
<?php
/*
json_decode(
string $json,
?bool $associative = null,
int $depth = 512,
int $flags = 0
): mixed
*/
/*
json
Строка (string) json для декодирования.
Эта функция работает только со строками в кодировке UTF-8.
associative
Если true, объекты JSON будут возвращены как ассоциативные массивы (array);
если false, объекты JSON будут возвращены как объекты (object).
Если null, объекты JSON будут возвращены как ассоциативные массивы (array)
или объекты (object) в зависимости от того,
установлена ли JSON_OBJECT_AS_ARRAY в flags.
depth
Максимальная глубина вложенности структуры,
для которой будет производиться декодирование.
flags
Битовая маска из констант JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE,
JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR.
Поведение этих констант описаны на странице JSON-констант.
*/
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>

31
~/PHP/json_encode.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
/*
json_decode(
string $json,
?bool $associative = null,
int $depth = 512,
int $flags = 0
): mixed
*/
/*
value
value - значение, которое будет закодировано.
Может быть любого типа, кроме resource.
flags
Битовая маска, составляемая из значений JSON_FORCE_OBJECT, JSON_HEX_QUOT,
JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_INVALID_UTF8_IGNORE,
JSON_INVALID_UTF8_SUBSTITUTE, JSON_NUMERIC_CHECK, JSON_PARTIAL_OUTPUT_ON_ERROR,
JSON_PRESERVE_ZERO_FRACTION, JSON_PRETTY_PRINT, JSON_UNESCAPED_LINE_TERMINATORS,
JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, JSON_THROW_ON_ERROR.
Смысл этих констант объясняется на странице JSON-констант.
depth
Устанавливает максимальную глубину. Должен быть больше нуля.
*/
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>

21
~/PHP/sqlite3.php Normal file
View File

@@ -0,0 +1,21 @@
<?php
/**
* Простой пример расширения класса SQLite3 и изменения параметров конструктора.
* После чего использование метода open для инициализации БД.
*/
class MyDB extends SQLite3
{
function __construct()
{
$this->open('mysqlitedb.db');
}
}
$db = new MyDB();
$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");
$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>