PHP: $i = 0; foreach ($array as $key) { $r.= $key; if ($i % 10 == 0) { funct($r); } } Каждый 10 результат вызываю в цикле функцию. Проблема в том, что в функции переменная $r не продолжается, а начинается с начала. Т.е. $r начинается не с 10 результата, а с первого. Как сделать, чтобы начинался с 10,20,30 и тд,??
PHP: foreach ($array as $key => $val) { if(stristr($val, 'check') == TRUE) { print_r(compact($key)); } } , в результате получаю: PHP: Array ( [one] => 1 ) Array ( [two] => 2 ) Array ( [three] => 3 ) Не подскажете, как в данном случае получить на выходе форыча только один массив (вместо нескольких), который не выводится в print_r, но с которым можно продолжать работать дальше?
Подразумевалось - только один массив, содержащий все эти полученные данные, вместо нескольких массивов.
1. ты вообще ничего не получаешь на выходе, твой код печатает, забывает и идет дальше. Если тебе нужен на выходе массив, просто пиши Код (Text): $arr[] = $key; а уже после конца цикла выводи $arr А, перед циклом еще хорошо бы объявить $arr = [];
Скажите, как циклом получить из первого массива значения, руководствуясь ключами (или значениями) второго массива? это можно сделать через, скажем, array_search или результирующий массив, а вот как сделать через цикл (ы) ?
Перебираешь циклом первый массив. В цикле вызываешь элементы второго массива по ключу получаемому из первого массива.