Forum Webscript.Ru

Программирование => PHP => Тема начата: Skyer от 15 Января 2003, 22:17:01

Название: Массив
Отправлено: Skyer от 15 Января 2003, 22:17:01
1).

$a[1]="Slava";
$a[2]="Skyer";
.....................
$a[158]="Zadolbalsja";

Если $b равен хотя б какому-нибудь значению из массива $a, то echo "Молодец!", в противном случае - echo "Антимолодец";

Как реализовать? Цикл и if ($b==$a[1] or $b==$a[2] or $b==$a[38]........) само собой не предлагать.

2). Когда возникают подобные вопросы, то где лучше всего находить на них ответы? В мануалах пока до этого доберёшься, столько времени затратишь, к тому же, неизвестно, по каким ключевым словам это искать....
Название: Массив
Отправлено: xnx от 15 Января 2003, 22:21:40
in_array()
Название: Массив
Отправлено: Макс от 15 Января 2003, 23:47:10
Цитировать
Когда возникают подобные вопросы, то где лучше всего находить на них ответы? В мануалах пока до этого доберёшься, столько времени затратишь, к тому же, неизвестно, по каким ключевым словам это искать....
мануал читать нужно. Сначало это будет медленно, потом освоишся, за считанные секунды ответы будеш находить.
Скачай chm-версию, там поиск очень помогает.


ЗЫ
в твоем случае логика поиска проста - тебе нужно определить есть ли элемент в МАССИВЕ, значит искать надо было в разделе Arrays (там функции не много, если английский знаеш, по названиям догадаешся что делает та или иная функция)
Название: Массив
Отправлено: Skyer от 15 Января 2003, 23:54:52
Макс

Цитировать
Скачай chm-версию, там поиск очень помогает.

Откуда?


Цитировать
искать надо было в разделе Arrays (там функции не много, если английский знаеш, по названиям догадаешся что делает та или иная функция)

На мой взгляд, там обалдеть сколько функций. И на каждую много примеров(и мусора). Всё это долго перелопачивать приходится.

Что касается "по названиям", то как бы я не знал английский, я бы не догадался сразу, что нужная функция - in_array, ведь значение этого "in" ооооочень обширное. Вообще, я давно хочу научиться в мануалах отгребать мусор и находить как можно быстрее инфу:)

xnx
Спасибо! Как теперь сделать, чтобы если (in_array($b, $a)), то он пишет ключ этого массива(то есть, если $b="Slava", $a[38]="Slava", то комп напишет цифру 38)?
Название: Массив
Отправлено: Макс от 16 Января 2003, 00:12:39
Я когда начинал писать на пхп просто открывал ман, и просматривал те разделы которые считал нужными (например разделы по Oracle, MSSQL мне пока что не нужны).
Просмтори работу с массивами, строками, датами, файлами, mysql (или с чем ты работаеш) регулярные выражения, почта.
Для начала это освой.


ЗЫ
это все ИМХО

ЗЗЫ
Цитировать
то он пишет ключ этого массива(то есть, если $b="Slava", $a[38]="Slava",
array_search()
Название: Массив
Отправлено: Skyer от 16 Января 2003, 00:27:21
Макс
Спасибо!
Название: Массив
Отправлено: Меняздесьдавнонет от 16 Января 2003, 00:47:48
http://faq.phpclub.net/docs
ответы на все все вопросы.
Название: Массив
Отправлено: rembo от 17 Января 2003, 19:01:05
(Шепотом) Если названия имена не длинные можешь попробовать так:
$a["Slava"]=1;
$a["Skyer"]=1;
.....................
$a["Zadolbalsja"]=1;

$b = "koe-kto";

if ($a[$b]==1) {
}

Это конешно изврат, но часто это быстрее :)