Как вывести массив в php
Перейти к содержимому

Как вывести массив в php

  • автор:

Блог вебмастера

создание сайтов, заработок в сети, раскрутка, программирование

Выводим срез массива на php с помощью функции array_slice

Как разбить и вывести массив на php

У меня была задача вывести массив на php с разбивкой на части: первые 20 записей в одном блоке, остальные отображаются при нажатии на кнопку. Решил это с помощью array_slice — функция вывода среза с массива. Несколько примеров в записи.

Вывод части массива на php

Есть массив $old_hones. Выводим первые 20 элементов:

Как правильно вывести массив в php?

Как правильно и грамотно вывести массив? Есть функция в конце вывожу данные с помощью (return). Сейчас вывожу вот так:

function geo($sity = null) .
return array(‘str’ => $result[0], ‘gor’ => $result[1]);
>

насколько правильный данный метод по правилам PHP?

  • Вопрос задан более трёх лет назад
  • 901 просмотр

Комментировать
Решения вопроса 0
Ответы на вопрос 3

SagePtr

Еда — это святое

return не выводит данные никуда, он возвращает значение функции. Да, таким способом можно возвращать массив, ничего плохого нет. В современных версиях PHP можно массивы записывать короче:
return [‘str’ => $result[0], ‘gor’ => $result[1]];

Ответ написан более трёх лет назад

daemonhk

Дополню ответ тем, что возвращаемое значение из функции можно/нужно присваивать переменной, чтобы с этим значением дальше работать, например: $array = geo($city)

P. S. torshew, city именно так пишется))

27cm

TODO: Написать статус
Вот так будет норм:

function geo($city = null) < // . return [ 'str' =>$result[0], 'gor' => $result[1], ]; >
function geo($city = null) < $result = []; // . $result['str'] = $data[0]; $result['gor'] = $data[1]; return $result; >

Массивы и рулетка

Тогда ты готов к чуть более сложной теории. Сейчас я тебе расскажу про переменные-массивы. К сожалению, без них никак-никак не обойтись. Посмотри объяснения на картинке — не бойся, все сразу понимать не нужно, просто попробуй прочесть.

Если прочел — переходи к задачам. Не бойся, они гораздо проще, чем теория.

Повторим

Создать пустой или уже заполненный массив

$a = array(); /* Пустой массив */ $a = []; /* В PHP5.4 и старше вместо array() можно писать [] */ /* Массив, содержащий три строки с индексами 0, 1 и 2 */ $cars = ['Ford', 'Toyota', 'Tesla']; /* Массив, содержащий 2 элемента c вручную указанными индексами */ $score = ['Ivan' => 100, 'Petr' => 400]; /* Массив, содержащий элементы с индексами 1, 2, 3, 10, 11 */ $x = [1 => 'a', 'b', 'c', 10 => 'd', 'e']; 

Вывести массив или значение элемента массива

var_dump($cars); /* выводит все */ echo "Иван набрал очков\n"; 

Добавить в массив новый элемент

/* Индекс будет поставлен автоматически (в данном случае 3) */ $cars[] = 'Mersedes'; /* Индекс нового элемента указан явно */ $score['Vasiliy'] = 500; 

Поменять значение элемента под индексом

$score['Ivan'] = 200; 

Удалить элемент, зная его индекс

unset($score['Ivan']); 

Обойти все элементы массива циклом

foreach ($score as $name => $number) < echo "$name набрал $number очков\n"; >/* Если нам нужны только значения без индексов */ foreach ($cars as $car)

Проверить, есть ли в массиве элемент с значением или индексом

/* по значению */ if (in_array('Toyota', $cars)) < echo "В массиве есть значение 'Toyota'\n"; >/* по индексу */ if (array_key_exists('Ivan', $score)) < echo "Есть элемент с индексом Ivan\n"; >if (isset($score['Ivan']))

Ссылки на мануал:

  • Массивы
  • Функции для работы с массивами

Задача про оценки

Итак, решим задачку:

Некто зарегистрировался в социальной сети, и там его фото поставили оценки (см. на картинке). Надо найти и вывести средний балл.

5.3 Возьми код по ссылке http://codepad.org/DBfuBotM и исправь его, чтобы он показывал правильный ответ.

Подсказка: чтобы узнать средний балл, надо сумму баллов поделить на их количество. Сумму значений можно посчитать через array_sum(), количество через count()

Что-то непонятно? Перечитай теорию, открой мануал, погугли.

Жду ответов в виде ссылок на код (копипастить не надо) и скриншотов с результатами, няши !

Задачка про рост

5.4 Дан рост школьника и рост его одноклассников. Надо найти, сколько человек в классе выше, чем наш герой.

Для этого возьми код по ссылке http://codepad.org/UOaOEgAW и переделай его, чтобы считать сколько человек выше школьника.

Что-то непонятно? Перечитай теорию, открой мануал, погугли. Подсказка: заведи переменную, положи в нее 0, каждый раз, когда видишь высокого школьника, увеличивай на 1 .

Жду ответов в виде ссылок на код (копипастить не надо) и скриншотов с результатами, няши !

Ответ на любой вопрос это же google!

5.5 Давай сделаем программу, отвечающую на любой вопрос. Для этого создадим массив с возможными вариантами ответов, сгенерируем случайное число и возьмем из массива элемент с таким номером.

Подсказка: здесь тебе могла бы помочь функция array_rand()

Что-то непонятно? Перечитай теорию, задай вопрос в треде.

Жду ответов в виде ссылок на код (копипастить не надо) и скриншотов с результатами, няши !

Генератор имен

Еще одна задача.

5.6. Напиши генератор случайного имени для кошки, собаки, брата или сестры на основе картинки ниже.

Код: http://codepad.org/mjuhN3fg или http://ideone.com/6RqNUq

Для этого мы сделаем массив со слогами и несколько раз выберем из него случайный элемент. Эти элементы мы собираем по кусочкам в переменную $name и в конце выводим. Может, тебе пригодится функция array_rand(), которая выбирает случайный индекс из массива.

Собрать одну большую строку (имя) из кусочков (слогов) можно несколькими способами:

  1. Создать переменную и положить в нее пустую строку ( $string = »; ). Затем на каждом шаге цикла «приклеивать» к ней новый кусочек: $string = $string . $piece; или $string .= $piece; Точка — это оператор, склеивающий («конкатенирующий») 2 строки вместе. Оператор .= надо писать слитно, без пробела.
  2. Создать переменную, поместить в нее пустой массив. На каждом шаге добавлять в массив новый слог. В конце склеить слоги в массиве в одну строку с помощью implode.

Что-то непонятно? Перечитай теорию, мануал, погугли.

Сделал? Ты у мамы молодец, переходи к следующему уроку.

Куда вводить код? Что надо скачать? Читай первый урок.

Есть вопросы? Задай гуглу или автору.

Нравится урок? Лайкай, репости, приглашай друзей, пости котов и Канако, шли добра, решай задачи, помогай новичкам! Кнопок для лайка нет, кто хочет зарепостить, всегда может сделать это ручками.

Как связаться с автором? Я хочу переодеть его в платье школьницы и жениться на нем. Ящик codedokode (кот) gmail.com ждет ваших писем. А вконтактик и фейсбучек ждут ваших лайков. Но ответ на банальные вопросы лучше искать в Гугле или на stackoverflow.

Я решил задачку. Молодец, делай следующий урок

Ideone не работает!11 Ну так открой Гугл и найди сайты вроде https://repl.it/languages/php , http://phptester.net/ , http://sandbox.onlinephpfunctions.com/ , http://codepad.org/ или http://www.runphponline.com/ . Не ленись.

Почему так много рекламы? Всю рекламу на сайте ставит юкоз (бесплатный хостинг же), а не я.

На сайте установлена система Google Analytics (и еще несколько аналогичных систем от юкоза). Данные о твоем IP-адресе, посещаемых страницах, времени посещения отправляются в Google Corporation, США. Хочу знать, кто и зачем сюда заходит. Поверь, другие сайты делают точно так же. Все сайты пишут логи.

  • Начало
    • Переменные
    • Условия и игра в кубики
    • Циклы и айфон в кредит
    • Массивы и рулетка
    • Строки, хакеры и шифровки
    • Функции и новый айпад
    • Регулярные выражения
    • Повторим?
    • Бонусные задачки
    • Пасты и ООП
    • Учим сами

    Что это?

    Это сайт, где собраны простые уроки по языку программирования PHP. Даже если ты никогда не слышал слова «программирование» и учишься на филолога, ты можешь попробовать их сделать.

    Скачивать и устанавливать тоже ничего не надо, делать уроки можно даже с айпада или ведроида.

    PHP для чайников (в моем лице) — часть 4

    Массивы в PHP

    Массивы в PHP

    Привет всем! Продолжаем ускоренное изучение PHP �� Сегодня — часть 4: массивы в PHP, и что-то еще… поехали!

    1. Итак — массив в PHP. Интересное описание термина «Массив» — это лист бумаги, на котором записан список планируемых покупок. Если бы мы записывали каждую планируемую покупку на отдельном листике — это было бы использование переменных. А если мы все пишем на один лист — это уже массив. Образно, упрощенно, но вроде как понятно. Сам массив создается следующим образом:
     $massiv = array("Помидоры", "Сладкий перец", "Огурцы"); ?>

    Как видите — мы создали переменную $massiv, а после указали, что эта переменная массив (array), состоящий из трех элементов: помидоры, сладкий перец, огурцы.
    ВАЖНО: количество элементов в массиве считается с нуля!

    Теперь разберемся с выводом определенного элемента массива. Для этого номер элемента указываем в квадратных скобках []. На практике это выглядит так:

     $massiv = array("Помидоры", "Сладкий перец", "Огурцы"); echo "$massiv[1]"; ?>

    Т.е. выводим первый элемент массива. Напоминаю — количество элементов в массиве считается с нуля, а значит: нулевой элемент — помидоры, первый элемент — сладкий перец. Запускаем код — и видим: сладкий перец. Все правильно.

    Теперь попробуем вывести весь массив целиком. Для этого я возьму более наглядный массив в виде десяти цифр: $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    Для начала — узнаем, как получить количество элементов в массиве. Для этого используется команда count:

     $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); echo count($massiv); ?>

    Результат выполнения кода: 11 элементов.
    А теперь — выведем массив целиком. Сразу скажу — вариантов решения этой задачи много ��
    1 вариант: использовать функцию print_r(), которая выводит информацию о каждом элементе в очень наглядном виде. Что бы вывод был более наглядным — обернем функцию в тег pre.

     $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); echo '
    '; print_r($massiv); echo '

    '
    #уберите пробелы ;) ; ?>

    Результат выполнения кода:
    Array
    (
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
    [10] => 10
    )

    • где очень наглядно виден порядковый номер элемента массива и его значение.
      2 вариант: использовать функцию var_dump(), которая выведет не только полную информацию о каждом элементе массива, но и так же тип этого элемента. Запустим код:
     $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); echo '
    '; var_dump($massiv); echo '

    '
    #уберите пробелы :) ; ?>

    3 вариант: использование цикла foreach, который был создан специально для поэлементного перебора массивов. Выглядит это следующим образом:

     $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); foreach ($massiv as $element) { echo "$element".'
    '
    ; }; ?>

    упрощенно код можно представить так: идем по массиву $massiv и получаем переменную $element, которую выводим на экран — причем, что бы элементы массива выводили построчно — добавляем (конкатенация команду перехода строки на новую). Получаем столбец элементов массива.

    4 вариант: использование цикла while. Пример кода — ниже:

     $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); $minimum = 0; while ($minimum  count($massiv)) { echo $massiv[$minimum].'
    '
    ; $minimum = $minimum + 1; } ?>

    На человеческом языке код можно описать так: вначале создаем переменную $minimum со значением нуль (эта переменная служит неким контролем, на который мы будем опираться в процессе работы над массивом). После этого — идем по массиву до тех пор, пока значение переменной $minimum не перестанет быть меньшим количеству элементов массива $massiv. Получаем элемент — выводим на экран, добавляя в конце символ перехода строки. Теперь — увеличиваем переменную $minimum на единицу (нам это нужно, что бы в итоге цикл перестал работать — иначе уйдем в бесконечность работы �� ) — и берем следующий элемент массива.

    5 вариант: использование функции implode(), которая выводит объединяет элементы массива с помощью указанного разделителя (в нашем случае разделителем служит символ переноса строки):

     $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); echo implode("
    "
    , $massiv); ?>

    Так… создавать массивы научились, выводить определенные элементы массива — тоже научились, выводить массивы целиком — разобрались как, а вот как редактировать элементы массива в PHP? Давайте разберемся!

    Для реактирования элементов массива в PHP нужно лишь указать номер элемента массива, и его новое значение. Например, код:

     $massiv = array("Red", "Yellow", "Green"); echo implode("
    "
    , $massiv); echo("

    "
    ); $massiv[0] = "Cafe"; echo implode("
    "
    , $massiv); ?>
    • изначально у нас имеется массив, содержащий три цвета: красный (нулевая позиция), желтый (первая позиция) и зеленый (вторая позиция). Теперь возьмем, и укажем новое значение нулевого элемента массива — это будет … КОФЕ! �� Выводим на экран массив — и видим, на нулевой позиции у нас вместо красного цвета — кофе.

    Теперь разберемся как удалить элемент массива в PHP. Для этого используется функция unset(). Покажу на практике:

     $massiv = array("Red", "Yellow", "Green"); echo implode("
    "
    , $massiv); echo("

    "
    ); unset($massiv[0]); echo implode("
    "
    , $massiv); ?>

    Имеется массив из трех элементов (да-да, те самые цвета: красный, желтый, зеленый). Выводим массив на экран, а потом — удаляем нулевой элемент (красный цвет), после чего — снова выводим массив на экран. Как видите — красный цвет удален ��

    И да — если использовать unset() без указания номера элемента массива — мы удалим весь массив.

    Добавление элементов в массив делается просто — вызываем массив, и показываем элемент, который нужно добавить. Если мы не указываем порядковый номер — то он добавляется в конец. Если указываем — то на указанную позицию:

     $massiv = array("1", "2", "3"); echo implode("
    "
    , $massiv); $massiv[] = "4"; echo("

    "
    ); echo implode("
    "
    , $massiv); ?>

    Где — изначально имеется массив из трех цифр. Добавляем цифру 4, и выводим массив на экран.

    И в самом конце сегодняшней записи, посвященной массивам в PHP — сортировка массивов по возрастанию и убыванию. Для более наглядного разбирательства — используем массив из десяти элементов, созданный с помощью генератора случайных чисел (о нем я рассказывал вчера), код генератора выглядит следующим образом:

     $massiv = array(); #Создаем пустой массив $minimum = 0; #Создаем переменную с минимальным значением while ($minimum  10) { #Создаем цикл, который будет работать пока минимальная переменная не станет равна или больше 10) $random_number = mt_rand(1, 100); #Создаем переменную с помощью генератора случайных чисел $massiv[] = $random_number; #Добавляем в наш массив значение этой переменной $minimum = $minimum + 1; #Увеличиваем значение минимальной переменной на единицу } echo "Готовый массив:
    "
    ; echo implode("
    "
    , $massiv); #Выводим готовый массив из случайных чисел на экран ?>

    Теперь отсортируем созданный массив по возрастанию. Для этого используем функцию sort():

     $massiv = array(); $minimum = 0; while ($minimum  10) { $random_number = mt_rand(1, 100); $massiv[] = $random_number; $minimum = $minimum + 1; } echo "Готовый массив:
    "
    ; echo implode("
    "
    , $massiv); echo "
    По возрастанию:
    "
    ; sort($massiv); echo implode("
    "
    , $massiv); ?>

    И — если нам нужно отсортировать массив по убыванию — используем rsort():

     $massiv = array(); $minimum = 0; while ($minimum  10) { $random_number = mt_rand(1, 100); $massiv[] = $random_number; $minimum = $minimum + 1; } echo "Готовый массив:
    "
    ; echo implode("
    "
    , $massiv); echo "
    По возрастанию:
    "
    ; sort($massiv); echo implode("
    "
    , $massiv); echo "
    По убыванию:
    "
    ; rsort($massiv); echo implode("
    "
    , $massiv); ?>

    На сегодня по теме «Массивы в PHP» — все �� Спасибо за внимание. В случае возникновения вопросов — пишите на почту, или в Телеграм ��

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *