Подскажите по Циклу foreach - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD63172.6332
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 20.09.2010, 21:47   #1
Andy123
Senior Member
 
Аватар для Andy123
 
Регистрация: 19.08.2010
Сообщений: 578
Бабло: $95255
По умолчанию Подскажите по Циклу foreach

пытаюсь разобратся
пример:

$names[] = "Андрей";
$names[] = "Борис";
$names[] = "Сергей";
$names[] = "Федор";
foreach ($names as $value) {
echo "$value<br>";
}
$textarea->set_value_by_name('body',"$value");//<-- кседант

почему в форму "body" вставляется только последнее имя, а не все четыре?
помогите разобратся.
Andy123 вне форума  
Старый 20.09.2010, 21:54   #2
RedHead
Senior Member
 
Аватар для RedHead
 
Регистрация: 26.08.2008
Адрес: UA
Сообщений: 2,941
Бабло: $402835
По умолчанию

в цыкл вывод ставь
Цитата:
$names[] = "Андрей";
$names[] = "Борис";
$names[] = "Сергей";
$names[] = "Федор";
foreach ($names as $value) {
echo "$value<br>";
$textarea->set_value_by_name('body',"$value");//<-- кседант
}
RedHead вне форума  
Старый 20.09.2010, 21:55   #3
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144256
По умолчанию

Цитата:
Сообщение от Andy123 Посмотреть сообщение
пытаюсь разобратся
пример:

$names[] = "Андрей";
$names[] = "Борис";
$names[] = "Сергей";
$names[] = "Федор";
foreach ($names as $value) {
echo "$value<br>";
}
$textarea->set_value_by_name('body',"$value");//<-- кседант

почему в форму "body" вставляется только последнее имя, а не все четыре?
помогите разобратся.
Ну так в цикле обходиться массив, после завершения цикла значение переменной $value равно последнему значению массива.

если надо все значения массива вставить в форму, то почему не сделать так?
PHP код:
$names[] = "Андрей";
$names[] = "Борис";
$names[] = "Сергей";
$names[] = "Федор";

$textarea->set_value_by_name('body',implode(' ',$names));//<-- кседант 
isoff вне форума  
Старый 20.09.2010, 21:56   #4
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144256
По умолчанию

Цитата:
Сообщение от RedHead Посмотреть сообщение
в цыкл вывод ставь
дык все равно будет в форме последнее значение.
isoff вне форума  
Старый 20.09.2010, 22:00   #5
RedHead
Senior Member
 
Аватар для RedHead
 
Регистрация: 26.08.2008
Адрес: UA
Сообщений: 2,941
Бабло: $402835
По умолчанию

а, ну да

уже написали

пойду спать
RedHead вне форума  
Старый 20.09.2010, 22:04   #6
Chekist
Senior Member
 
Аватар для Chekist
 
Регистрация: 13.04.2007
Сообщений: 480
Бабло: $84373
По умолчанию

в $value хранится только одно значение=)
Chekist вне форума  
Старый 20.09.2010, 22:04   #7
Andy123
Senior Member
 
Аватар для Andy123
 
Регистрация: 19.08.2010
Сообщений: 578
Бабло: $95255
ТС -->
автор темы ТС По умолчанию

Дело в том, что, это пример сам скрипт немного сложней, он выводит строки из файла на выходе скрипта $linki

echo $linki" </br>"; выводит как задуманно, а вот в форму только последний линк.
Andy123 вне форума  
Старый 20.09.2010, 22:09   #8
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,230
Бабло: $247845901
По умолчанию

Цитата:
Сообщение от Andy123 Посмотреть сообщение
Дело в том, что, это пример сам скрипт немного сложней, он выводит строки из файла на выходе скрипта $linki

echo $linki" </br>"; выводит как задуманно, а вот в форму только последний линк.
ты видимо не понимаешь как работает вот этот код:
$textarea->set_value_by_name('body',"$value");

он устанавливает значение textarea как $value
если ты вставляешь в цикл, этот код последовательно меняет значение поля при каждой итерации на элемент из массива
imgreen вне форума  
Старый 20.09.2010, 22:11   #9
isoff
Senior Member
 
Регистрация: 16.09.2008
Сообщений: 637
Бабло: $144256
По умолчанию

Цитата:
Сообщение от Andy123 Посмотреть сообщение
Дело в том, что, это пример сам скрипт немного сложней, он выводит строки из файла на выходе скрипта $linki

echo $linki" </br>"; выводит как задуманно, а вот в форму только последний линк.
Неясно что требуется
Если надо вставить содержимое массива в форму, то я написал как проще вставить в форму.

А так как указано в примере, работает так как ему и положено т.е. в цикле
foreach ($names as $value) {
echo "$value<br>";
}
отдается на вывод значения массива, после завершения этого цикла значение переменной $value равно последнему значению массива $names
далее выполняется
$textarea->set_value_by_name('body',"$value");//<-- кседант
поэтому и в форме оказывается последнее значение.
isoff вне форума  
Старый 20.09.2010, 22:24   #10
Andy123
Senior Member
 
Аватар для Andy123
 
Регистрация: 19.08.2010
Сообщений: 578
Бабло: $95255
ТС -->
автор темы ТС По умолчанию

Все, разобрался implode помог.
Andy123 вне форума