Использовать счетчик как часть переменной - PullRequest
0 голосов
/ 14 февраля 2011

Вот что я хотел бы сделать

for($i = 1; $i < 4; $i++) {

    $featuredImage$i = $featured['featuredImage$i'];
    $featuredText$i  = $featured['featuredText$i'];
    $featuredURL$i   = $featured['featuredURL$i'];

    }

Как мне сделать что-то подобное?

Ответы [ 6 ]

2 голосов
/ 14 февраля 2011

Единственное, что вам нужно, это выучить язык PHP.
Эта страница содержит все, что вам нужно: http://php.net/types.string
Несмотря на этот конкретный вопрос, его стоит прочитать, так как строковый синтаксис является одним из основных понятий синтаксиса PHP, и его нужно выучить наизусть в любом случае.

Единственное примечание, которое я должен добавить: строго говоря, вы будете использовать счетчик не как часть переменной , а как часть строки , которая в свою очередь станет ключом для переменной массива. Но синтаксически вы составляете строку из строки и переменной.

EDIT

О. Я не заметил крайнюю левую переменную.
Только когда я начал писать другое предложение, я смог его увидеть.

Хорошо, вы также можете рассмотреть возможность использования вложенного массива.
Можно использовать таким образом

foreach ($featured as $item) {

    echo $item['featuredImage'];
    echo $item['featuredText'];
    echo $item['featuredURL'];
}

или делайте все, что хотите, с этими переменными.

Было бы неплохо увидеть полный контекст, который приведет вас к этому вопросу, поэтому можно будет дать вам лучшее решение для вашего конкретного случая.
Может быть, вам понадобится кардинально переработать базу данных ...

2 голосов
/ 14 февраля 2011

Что-то вроде

for($i = 1; $i < 4; $i++) {

    ${featuredImage . $i} = $featured['featuredImage' . $i];
    ${featuredText. $i}  = $featured['featuredText' . $i];
    ${featuredURL . $i}   = $featured['featuredURL' . $i];

    }
1 голос
/ 14 февраля 2011

я получил ответ: Попробуйте

${"featuredImage" . $i} = $featured['featuredImage' . $i];
${"featuredText". $i}  = $featured['featuredText' . $i];
${"featuredURL" . $i}   = $featured['featuredURL' . $i];
1 голос
/ 14 февраля 2011

Это будет работать:

for($i = 1; $i < 4; $i++) {
    $featuredImage$i = $featured["featuredImage$i"];   // $variable works inside double quotes
    $featuredText$i  = $featured['featuredText' . $i]; // single quote and string concatenation
    $featuredURL$i   = $featured["featuredURL{$i}"];   // $variable can be enclosed inside {} for cases such as $featured["featuredURL{$i}_href"]
                                                       // to have php substitute the variable $i instead of $i_href
}
1 голос
/ 14 февраля 2011

Вам необходимо объединить переменную в конец строки, как показано ниже:

for($i = 1; $i < 4; $i++) {

    $featuredImage$i = $featured['featuredImage'.$i];
    $featuredText$i  = $featured['featuredText'.$i];
    $featuredURL$i   = $featured['featuredURL'.$i];

}

Помните, что переменные нельзя использовать внутри строк с одинарными кавычками, если вы хотите поместить переменную в строкувместо этого используйте двойные кавычки, например:

$world="World!";
$str1='Hello $world'; // outputs "Hello $world"
$str2="Hello $world"; // outputs "Hello World!"

Вы можете использовать переменные внутри строк с двойными кавычками, иногда это проще, чем взламывать и выводить строку, однако с одинарными кавычками необходимо объединить их на месте;

0 голосов
/ 14 февраля 2011
for($i = 1; $i < 4; $i++) {

    $featuredImage$i = $featured['featuredImage' .$i];
    $featuredText$i  = $featured['featuredText' .$i];
    $featuredURL$i   = $featured['featuredURL' .$i];

    }
...