пройди циклом по всему массиву и поищи в каждой строке. А ты думаешь, что если ты будешь тупо копипастить код, то сможешь хоть чему-то научиться? Или ты думаешь, что продавец сотовых телефонов хорошо зарабатывает против программиста? Если тебе препод даёт задание, то оно нужно для того, чтобы ты учился. Иначе будешь мобильники толкать. Мозги надо прокачивать, как в спортзале. Тренируй.
Делала, не работает. $arr - массив делаю: Код (PHP): foreach ($arr as $value) { $key = array_search('.04', $value); echo $key; } Итог: ничего не выводит( Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
Вот вывод моего массива: Array ( [0] => 14-15.03 [1] => 18-19.04 [2] => 16-17.05 [3] => 20-21.06 [4] => 18-19.07 [5] => 15-16.08 [6] => 19-20.09 [7] => 17-18.10 [8] => 14-15.11 [9] => 12-13.12 )
Вот foreach + strpos Код (PHP): foreach ($arr as $value) { $key = strpos($value, '.04' ); echo $key; } Выводит ерунду foreach + mb_strpos - вообще ничего не выводит preg_match возвращает количество найденных соответствий, а мне ключ нужен Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
для этого придётся делать так foreach($arr as $key => $val) правильно strpos не должен ключ выводить Добавлено спустя 1 минуту 17 секунд: у вас он ищет, есть ли строка '.04' в строке $val
Делаю так: Код (PHP): foreach ($arr as $key => $val) { echo strpos('.04', $val); } ничего не выводит где ошибка? Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
попробуйте mb_strpos(). А вообще должно работать, может совпадений нет. Добавлено спустя 1 минуту 42 секунды: Сразу не заметил. используйте функцию правильно strpos($val, '.04')
Исправила, но со strpos нашла только номер символа в значении, с которого начинается '.04', мне это не надо. Мне ключ строки найти надо, где есть '.04'
Код (PHP): foreach ($arr as $key => $val) { if (strpos($val, '.04'){ echo $key; }; } этот код выведет все ключи в значении которых есть подстрока '.04'
В голове у тебя есть ошибочка. Если ты видишь функцию, нужно обязательно зайти и почитать, что именно она делает и что возвращает. Эта функция может возвращать ноль, если нашла твою искомую строку с первого же символа, т.к. исчисление позиции идёт с нуля. Плюс к этому, она возвращает фалс, который превращается в ничто при выводе через echo. Это значит, что она не нашла ничего. А ключ массива, да, он не внутри его значения живёт, это ж надо понимать, блин.
Нельзя так подрастающее поколение учить. В доках же написано по этому поводу Код (PHP): if (strpos($val, '.04') !== false)