Реализовать функцию результатом ее выполнение будет: двумерный массив (массив, состоящий из ассоциативных массивов с ключами a, b, c). Пример для входных массива [1, 2, 3, 4, 5, 6]. результат [[‘a’=>1,’b’=>2,’с’=>3],[‘a’=>4,’b’=>5 ,’c’=>6]]. наверное, необходимо сделать цикл по массиву входных данных, в цикле счетчик по второму массиву (с именами ключей), при достижении счетчиком длины второго массива - сбрасывать его и увеличивать счетчик ключей первого уровня результирующего массива. Нужна помощь.
@overjoyed, в следующий раз не надо писать в два раздела сразу. Хочешь, чтоб сделали за тебя - так сразу и пиши. Хочешь научиться - тоже так сразу и пиши. Делать за тебя не хочу, может кто ещё сделает, но я бы пользовал операцию взятия по модулю (т.е. получения остатка от деления)
PHP: $in = [1, 2, 3, 4, 5, 6, 7]; $keys = ['a', 'b', 'c']; $keysCnt = sizeof($keys); $out = []; foreach($in as $j => $val) { $key1 = floor($j / $keysCnt); $key2 = $j % $keysCnt; $out[$key1][$keys[$key2]] = $val; } print_r($out);
PHP: $in = [1, 2, 3, 4, 5, 6, 7]; $keys = ['a', 'b', 'c']; $out = []; $t = []; foreach($in as $v){ $t[] = $v; if(count($keys) == count($t)){ $out[] = array_combine($keys, $t); $t = []; } } print_r($out);
спасибо огромное! А как реализовать эту задачу? Если есть возможность, помогите: в исходный массив для каждой тройки чисел добавляется дополнительный ключ s, содержащий результат расчета площади трапеции со сторонами a и b, и высотой c. Реализовать функцию getSizeForLimit($a, $b). $a – массив результата выполнения функции squareTrapeze(), $b – максимальная площадь. Результат ее выполнение: массив размеров трапеции с максимальной площадью, но меньше или равной $b. Реализовать функцию getMin($a). $a – массив чисел. Результат ее выполнения: минимальное числа в массиве (не используя функцию min, ключи массив может быть ассоциативный). Реализовать функцию printTrapeze($a). $a – массив результата выполнения функции squareTrapeze(). Результат ее выполнение: вывод таблицы с размерами трапеций, строки с нечетной площадью трапеции отметить любым способом. Реализовать абстрактный класс BaseMath содержащий 3 метода: exp1($a, $b, $c) и exp2($a, $b, $c),getValue(). Метода exp1 реализует расчет по формуле a*(b^c). Метода exp2 реализует расчет по формуле (a/b)^c. Метод getValue() возвращает результат расчета класса наследника. Реализовать класс F1 наследующий методы BaseMath, содержащий конструктор с параметрами ($a, $b, $c) и метод getValue(). Класс реализует расчет по формуле f=(a*(b^c)+(((a/c)^b)%3)^min(a,b,c)).
Без функций PHP: <?php $in = [1, 2, 3, 4, 5, 6, 7]; $keys = ['a', 'b', 'c']; $rank = $i = -1; $new = []; foreach ( $in AS $a1 ) { if ( $keys[$i] ?? 0 ) { $new[$rank][$keys[$i]] = $a1; } else { $new[++$rank][$keys[$i=0]] = $a1; } $i++; } print_r ( $new );
Сел за php, и он как дремучий лес для меня оказался... Можно комменты для "особо одаренного", блин --- Добавлено --- Может есть видео, где на пальцах рассказывают про циклы в сложных массивах? Как добавить к этой группе a, b, c еще s с площадью..?
Может есть видео, где на пальцах рассказывают про помогите c дальнейшим решением, пожалуйста: в исходный массив для каждой тройки чисел добавляется дополнительный ключ s, содержащий результат расчета площади трапеции со сторонами a и b, и высотой c. Реализовать функцию getSizeForLimit($a, $b). $a – массив результата выполнения функции squareTrapeze(), $b – максимальная площадь. Результат ее выполнение: массив размеров трапеции с максимальной площадью, но меньше или равной $b. Реализовать функцию getMin($a). $a – массив чисел. Результат ее выполнения: минимальное числа в массиве (не используя функцию min, ключи массив может быть ассоциативный). Реализовать функцию printTrapeze($a). $a – массив результата выполнения функции squareTrapeze(). Результат ее выполнение: вывод таблицы с размерами трапеций, строки с нечетной площадью трапеции отметить любым способом. Реализовать абстрактный класс BaseMath содержащий 3 метода: exp1($a, $b, $c) и exp2($a, $b, $c),getValue(). Метода exp1 реализует расчет по формуле a*(b^c). Метода exp2 реализует расчет по формуле (a/b)^c. Метод getValue() возвращает результат расчета класса наследника. Реализовать класс F1 наследующий методы BaseMath, содержащий конструктор с параметрами ($a, $b, $c) и метод getValue(). Класс реализует расчет по формуле f=(a*(b^c)+(((a/c)^b)%3)^min(a,b,c)).
Начни с малого реализовать свою PHP: $a = 11; $b = 22; $c = 33; ... Люди увидят твое старание. Подтянутся, да и поисковики не забанены Роскомнадзором
Вы можете написать комментарии к строчкам Вашего решения? Мне очень это важно, для понимания. Спасибо
PHP: $in = [1, 2, 3, 4, 5, 6, 7]; $keys = ['a', 'b', 'c']; $len = sizeof($keys); $out = []; $c = 0; $l = 0; foreach($in as $k => $v) { if(empty($keys[$c])) { $c = 0; $l++; } $out[$l][$keys[$c]] = $v; $c++; } print_r($out); @runcore Откуда интересно твой пример?
Помогите разобраться, скажу откуда такой пример)) --- Добавлено --- $out[$key1][$keys[$key2]]=$val; - как эта строка читается? если ее разложить для новичка --- Добавлено --- $out[$l][$keys[$c]]=$v; - в Вашем решении --- Добавлено --- $out[$key1][$keys[$key2]]=$val; - как эта строка читается? е помогите разобраться в вашем решении,пожалуйста
Так? Код (Text): $a = [1, 2, 3, 4, 5]; $b = ['a', 'b', 'c']; $c = []; $e = count($b); foreach ($a as $d => $f) { $c[floor($d / $e)][$b[$d % $e]] = $f; } Без цикла? Длиннее, но тоже решение Код (Text): $a = [1, 2, 3, 4, 5]; $b = ['a', 'b', 'c']; $c = array_map( function ($d, $e) { return array_combine(array_slice($e, 0, count($d)), $d); }, array_chunk($a, count($b)), array_fill(0, ceil(count($a) / count($b)), $b) );
Что такое говнокод ? а что такое низкоуровневый код, который приближен к дочернему программному языку ? Либо твои выводы не осознанное выплескивание "личных мнений".
о каком низкоуровневом коде ты говоришь? на форуме php... естественно это моё личное мнение, осознанное. ты пишешь на определенном языке. он даёт тебе некие готовые возможности, какой смысл от них отказываться? ради чего? чтобы родить треш? надеюсь внутри своих реальных проектов ты так не пишешь. а это было так... типа уровень твоего кунфу