<?php header('Content-Type: text/html; charset=utf-8');
/* Из мана:
* range — Создать массив, содержащий диапазон элементов
* in_array — Проверить, присутствует ли в массиве значение
*/
// Массив в диапазоне элементов типа int от 1 до 10
$int_range_arr = range(1, 10);
// Посмотрим на содержимое массива
echo'<pre>'; print_r($int_range_arr); echo'</pre>';
// Строка
$string = '9 моё любимое число';
// Проверим, присутствует ли строка в массиве - ПРИСУТСТВУЕТ!!! Не понимаю!!!
if(in_array($string, $int_range_arr)) echo'Строка "9 моё любимое число" входит в диапазон от 1 до 10<br>';
// А теперь проверим в strict mode - НЕ ПРИСУТСТВУЕТ. Понимаю.
if(in_array($string, $int_range_arr, true)) echo'Строка "9 моё любимое число" входит в диапазон от 1 до 10<br>';
// Число
$int = 9;
// Проверим, присутствует ли число в массиве - ПРИСУТСТВУЕТ. Понимаю.
if(in_array($int, $int_range_arr)) echo'Число "9" входит в диапазон от 1 до 10<br>';
// А теперь проверим в strict mode - ПРИСУТСТВУЕТ. Понимаю.
if(in_array($int, $int_range_arr, true)) echo'Число "9" входит в диапазон от 1 до 10<br>';
/*
*
* Внимание, Вопрос знатокам! Почему в первом случае функция in_array возвращает true?!
*
*/
?>
Форум → Программирование → PHP для идиотов → Нипанятки с in_array
Нипанятки с in_array
Страницы: ← Следующая страница →
-
-
7 января 2011 г. 20:34, спустя 9 минут 38 секунд
Hight, магия динамической типизацииСапожник без сапог -
7 января 2011 г. 20:36, спустя 2 минуты 41 секунду
phpdude, я понимаю, что это магия. Но это какая-то неправильная магия. Я из-за этой магии нихуёво наебался.
upd. На самом деле я думаю, что это ошибка. Если строку:$string = '9 моё любимое число';
Заменить на:$string = 'моё любимое число 9';
То функция in_array вернёт false
Это же пиздец. -
7 января 2011 г. 20:54, спустя 17 минут 19 секунд
Hight, выполни и задумайся.<?
echo 0 == 'ebanis, ara' ? 'ebanii v rot!' : 'uh, ia to dumal vi sovsem ohueli';Сапожник без сапог -
7 января 2011 г. 21:02, спустя 8 минут 40 секунд
phpdude, не прикалывайся. Твой код понятен. Ты нулю присвоил значение, а это true. Это нормально. А с in_array говно какое-то получилось.
// гоню. =)
upd. 0 == false
Смотрим:echo 0 == 'ebanis, ara' ? 'ebanii v rot!' : 'uh, ia to dumal vi sovsem ohueli';
// ebanii v rot!
Смотрим:echo false == 'ebanis, ara' ? 'ebanii v rot!' : 'uh, ia to dumal vi sovsem ohueli';
// uh, ia to dumal vi sovsem ohueli -
7 января 2011 г. 21:03, спустя 48 секунд
Hight, уху, сам почитаешь как пхп работает, или тебе ссылку ткнуть?)Сапожник без сапог -
7 января 2011 г. 21:05, спустя 1 минуту 23 секунды
phpdude, давай ссылку. А то я перестал пэхапэ понимать. Он сука раньше не так работал. -
-
8 января 2011 г. 23:55, спустя 1 день 2 часа 43 минуты
Я сделал свою функция in_array с блекджеком и шлюхами:function my_in_array($needle, $haystack = array(), $type = 'string', $default = null)
{
settype($needle, $type);
return in_array($needle, $haystack, true)? $needle : ($default? $default : false);
} -
9 января 2011 г. 10:50, спустя 10 часов 55 минут 42 секунды
какой лютый бешеный кодингСпустя 148 сек.my_in_array(9, array(9,10));
вернёт falseСпустя 136 сек.и вот это пиздато:$default = null
return … $default? $default : false
не проще сразу в аргументах сделать $default = false;
return in_array($needle, $haystack, true)? $needle : $default;не всё полезно, что в swap полезло -
9 января 2011 г. 11:14, спустя 24 минуты 6 секунд
тебе нужна вот такая функцияfunction in_array_scalar($needle, $haystack, $strict=false){
if ((is_scalar($needle) || $needle === null) && !$strict){
foreach($haystack as &$h){
settype($h, 'string');
}
settype($needle, 'string');
}
return in_array($needle, $haystack, $strict);
}
print in_array_scalar('9 - моё любимое число', array(9, 10));Спустя 47 сек.кстати кто не пробовалprint null == array();
охуенно ящитаюне всё полезно, что в swap полезло -
9 января 2011 г. 12:24, спустя 1 час 9 минут 24 секунды
охуенно ящитаю
да .. пхп жжет :DСапожник без сапог -
9 января 2011 г. 13:15, спустя 50 минут 44 секунды
-
9 января 2011 г. 16:41, спустя 3 часа 25 минут 59 секунд
master, не пизди. Мне нужна моя функция с доп. параметрами. =) -
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!