Получить ТОЧНОЕ значение в массиве $ _POST - PullRequest
0 голосов
/ 15 октября 2019

Я изучаю php и пытаюсь понять, как получить строку "Juve_Milan" из этого var_dump($_POST):

    array(5) {
    ["Juve_Milan"] => array(2) {
        [0] => string(1)
        "5" [1] => string(1)
        "1"
    }["Inter_Roma"] => array(2) {
        [0] => string(1)
        "4" [1] => string(1)
        "4"
    }["Napoli_Lazio"] => array(2) {
        [0] => string(1)
        "2" [1] => string(1)
        "5"
    }["name"] => string(0)
    "" ["submit"] => string(5)
    "Invia"
}

Я могу получить их все с помощью:

foreach ($_POST as $param_name => $param_val) {
  echo "<tr><td>".$param_name."</td><td>".$param_val[0]."-".$param_val[1]."</td></tr>";
}

Но я хочу получить их точно один за другим , например, если я хочу получить строку "Juve_Milan" или "inter_Roma", как я могу это сделать? Без цикла, как я могу получить строковое значение: "Juve_milan" или "Inter_Roma"? Поскольку с циклом я могу получить к ним доступ таким образом: $_POST as $param_name => $param_val Но я хочу получить их без цикла, моя первая попытка была похожа на $_POST[0][0], но это неправильно ...

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Есть несколько функций массива php, которые вы можете использовать. Вы можете использовать

смещение массива

, чтобы удалить элемент из массива и отобразить его .eg

$club = ['juve_millan', 'inter_roma', 'napoli_lazio'];
$juve = array_shift($club);

echo $juve;// 'juve_millan'

, но обратите внимание, что массивсокращено на один элемент, то есть 'juve_millan' больше нет в массиве, и также обратите внимание, что использование

array_shift

над большим массивом довольно медленно

Функция Array Slice

PHP

array_slice ()

Функция используется для извлечения фрагмента массива, например

$club = ['juve_millan', 'inter_roma', 'napoli_lazio'];

если я хочу отобразить

inter_roma

или присвоить его переменной, то я могу сделать это

$roma = array_slice($club, 1, 1);// The first parameter is the array to slice, the second parameter is where to begin(which is one since most programming language array index start from 0 meaning juve_millan is zero, while inter_roma is 1, napoli_lazio is 2) and the length is 1 since i want to return a single element.

надеюсь, вы понимаете

0 голосов
/ 15 октября 2019

Вы можете перебирать ключи основного массива следующим образом:

foreach($_POST as $param_name => $param_val) {
    echo "<tr><td>".$param_name."</td></tr>";
}

Это будет возвращать каждый Juve_Milan, Inter_Roma и т. Д. Один за другим. Хотя это часть кода, который у вас уже есть, я верю, что он вернет значения, которые вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...