Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция in_array
 
 автор: Владимир55   (08.10.2012 в 12:32)   письмо автору
 
 

<?
    $m_ident
[] = 77;
    
$metka "77AB231C-C75A-954D-796F-72F1EE35DD8D";

    if(
in_array($metka$m_ident)) echo "YES";


Выдает YES

Это нормально?

Существует ли функция, которая детектирует наличие в массиве полной строки, совпадающей с заданной?

  Ответить  
 
 автор: Igorek   (08.10.2012 в 13:00)   письмо автору
 
   для: Владимир55   (08.10.2012 в 12:32)
 

это нормально, при сравнение числа со строкой, строка преобразуется в int.
<? 
    $m_ident
[] = '77'
    
$metka "77AB231C-C75A-954D-796F-72F1EE35DD8D"

    if(
in_array($metka$m_ident)) echo "YES";

  Ответить  
 
 автор: confirm   (08.10.2012 в 13:12)   письмо автору
 
   для: Igorek   (08.10.2012 в 13:00)
 

in_array($metka, $m_ident, true)

  Ответить  
 
 автор: Igorek   (08.10.2012 в 16:23)   письмо автору
 
   для: confirm   (08.10.2012 в 13:12)
 

это да, но тогда такой код не сработает:
<?$m_ident[] = 77
$metka "77"
if(
in_array($metka$m_ident,true)) echo "YES";

т.е. все равно придется к одному типу приводить

  Ответить  
 
 автор: gkirill   (08.10.2012 в 15:24)   письмо автору
 
   для: Владимир55   (08.10.2012 в 12:32)
 

Владимир, возможно вы это хотели?
 
<? 
$m_ident
['если это массив то здесь чего=то нехватает =)'] = '77';
$metka "77AB231C-C75A-954D-796F-72F1EE35DD8D"
if(
in_array($metka$m_ident))
 {
 echo 
"YES";
  }
?>

  Ответить  
 
 автор: Владимир55   (08.10.2012 в 16:18)   письмо автору
 
   для: gkirill   (08.10.2012 в 15:24)
 

Индекс массива может быть пустым - тогда пойдет запись в нулевую ячейку (или в следующую свободную, если какие-то заняты). Массив может быть и из одной ячейки, как в этом примере.

Рецепт confirm решил дело.

Сасибо!

  Ответить  
 
 автор: confirm   (08.10.2012 в 16:24)   письмо автору
 
   для: Владимир55   (08.10.2012 в 16:18)
 

Это не мой рецепт, об этом гласит описание функции - по умолчанию она не проверяет типы (третий аргумент ее равен false), потому у вас такое и происходит.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования