Вы здесь: Современные автоматизированные системы и технологии безопасности » Оптимизация » Приведение типов данных php, array to object, object to array. Интересный баг php |
Там, где от этого зависит безопасность, или результат может быть неоднозначным, приводите явно тип данных, проверяйте входящие переменные со стороны клиента на существование, пусты ли они, и к какому типу относятся. Аккуратность написания скриптов избавит от чрезмерной отладки в дальнейшем и сделает Ваш сайт менее чувствительным к действиям недоброжелателей,и более стабильным в работе.
Приведение типов данных php, array to object, object to array. // Объявляем массив $array = array('11' => 'one', 22 => 'two'); print_r ($array); /* Получаем: Array ( [11] => one [22] => two ) */ echo $array[11]."\r\n"; // Получаем: one $stdClass = (object)$array; print_r ($stdClass); /* Получаем: stdClass Object ( [11] => one [22] => two ) */ /* echo $array->11; вернет ошибку парсинга, т.к. наименование свойства объекта не может являться числом, но при автоматическом приведении типов в php названия свойств элементов объекта храняться с строке, но обратиться к ним невозможно, т.к. описать это для интерпритатора php не представляется возможным * $array->11; * $array->'11'; Ничего из этого не сработает */ $arrayTwo = (array)$stdClass; print_r ($arrayTwo); /* Получаем: Array ( [11] => one [22] => two ) */ echo $arrayTwo[11]; // Получаем: one |
3505
Просмотров: |