PHP - массив
3673
14
пятница, вечер, конец рабчего дня, славная погодка - туплю, голова не варит:хммм:
имеем:
$id=002;
$arr = array('001', '002', '003');
надо:
если $id встречается в массиве $arr, то
//действие
если нет
//другое действие
:not_i:
=SmasH=
Не знаю как в PHP, но я бы "для начала" $id перевел в строку. Оно типа целое присвоено було...
tolstopuz
в PHP нетипизированные переменные, перевод автоматический в зависимости от контекста.
Mad_Dollar
Да, но только (int)002 не равен "002", а равен "2"... проблема с лидирующими нулями, да еще и не один...:улыб:
tolstopuz
емнип int("002") = "002".
проверять лень, сами =)
Mad_Dollar
Блин. Смотрите оригинал. Там сначала идет присваивание переменной целочисленной константы в восьмеричной системе счисления (лидирующий нуль!)... и потом сравнение со строкой... так вот, преобразование числа в строку никогда и нигде не сопровождалось добавлением ровно 2-х лидирующих нулей без специальных на то указаний!

Можете проверить таким способом:

$id = 002;
echo $id;

Вывод будет: 2 , а не 002 :улыб:
tolstopuz
<?php
if ( intval("002") == "002" )
{ echo "wow\n"; }
else
{ echo "not wow\n"; };
?>
проверьте что выводит, и подумайте, почему.
tolstopuz
Н-да. ПХП - еще то г...
Зато не нужно заморачиваться с типами переменной :ха-ха!:
Вот бы такое чудо да в C# запихать!:улыб:
tolstopuz
Н-да. ПХП - еще то г...:улыб:
позволь еще раз усомниться в твоих умственных способностях :yes.gif:
artem2005
Ну в твоих я уже давно усомнился. Позволяю.
tolstopuz
Зачэм ругаться? Вообще язык как язык, только с низким порогом вхождения, при этом позволяющий весьма многое. Отсюда большое количество "спецов", которые кодят через жёпу. Язык сам по себе от этого хуже не становится. Скажу даже больше, мне какое-то время даже не хватало особенностей работы PHP с ассоциативными массивами — там хоть по ключу сортируй, хоть по значению — всё штатные возможности.
tolstopuz
Ну в твоих я уже давно усомнился.
И совершенно напрасно. :biggrin:
RAMMSTEIN
гы...

function array_find_index ($arr,$v) {
$pos=-1; $n=count($arr);
for ($i=0; $i<$n; $i++) if ($arr[$i]==$v) { $pos=$i; break; }
return $pos;
}
:улыб: