Итак, у меня есть следующий код PHP.

for($i = 1; $i <= 3; $i++) {
    ${'product' . $i . 'Id'} = ${'_GET["product' . $i . 'Id"]'};
}

Я хочу, чтобы на выходе было что-то похожее на это.

$product1Id = $_GET["product1Id"];
$product2Id = $_GET["product2Id"];
$product3Id = $_GET["product3Id"];

Так что я могу повторить их позже.

echo $product1Id;
echo $product2Id;
echo $product3Id;
0
Joshua 2 Сен 2017 в 22:01

4 ответа

Лучший ответ

Вы почти на месте, ваш for цикл должен быть таким:

for($i = 1; $i <= 3; $i++) {
    ${'product' . $i . 'Id'} = $_GET['product' . $i . 'Id'];
}

Или вместо этого for цикла вы можете просто сделать extract($_GET);. Это даст вам необходимые переменные и соответствующие значения. Ссылка: http://php.net/manual/en/function.extract .php

1
Rajdeep Paul 2 Сен 2017 в 19:18

Используйте extract для создания массива $ _GET отдельных переменных.

extract($_GET);

Echo $product1Id . $product2Id . $product3Id;

Так как я не могу сделать это «онлайн» на PHP-тестере, я создал массив точно так же, как ваш массив GET.
Посмотреть демо здесь.
https://3v4l.org/RqjRd

0
Andreas 2 Сен 2017 в 19:29

Попробуй это.

for($i = 1; $i < 3; $i++) {
${'product' . $i . 'Id'} = $_GET["product{$i}Id"];
 }
1
Nove Sanchez 2 Сен 2017 в 19:14

Я надеюсь, что это поможет вам <3. Для того, чтобы получить путы, подобные этому ($ product1Id = $ _GET ["product1Id"]) с помощью for, вы можете сделать для for вот так! Вы можете создать массив, в котором каждый элемент этого массива содержит одно из значений get, которые вы получаете! Я думаю, это лучше, чем создавать множество переменных! Попробуйте поместить ваши значения в массив, как показано ниже: Первый шаг - создать массив с 0 элементами.

$array_get_values = new array();

Теперь пришло время сделать для, и положить в него ценности.

for($i=1 ; $i =< 3;$i++)
{
 $array_get_values[] = $_GET["product".$i."Id"];
}

И теперь у вас есть все ваши значения в массиве, и вы можете вызывать их по их адресу.

Note : $array_get_values[] => this piece of code , adds new element to our array

Я надеюсь, что помог тебе! Удачи бро

0
Mr.Apr 2 Сен 2017 в 19:18