Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: В цикле вывести саму переменную не ее значение

Сообщения:  [1-10]   [11-12] 

 
 автор: Гавриленко Дмитрий   (11.08.2011 в 21:49)   письмо автору
 
   для: tima2010   (11.08.2011 в 21:32)
 

Еще бы ;)

  Ответить  
 
 автор: tima2010   (11.08.2011 в 21:32)   письмо автору
 
   для: cheops   (11.08.2011 в 21:30)
 

спасибо cheops !!! все работает!

  Ответить  
 
 автор: cheops   (11.08.2011 в 21:30)   письмо автору
 
   для: tima2010   (11.08.2011 в 21:25)
 

Если используете двойные кавычки, нужно экранировать символ $, или использовать одиночные кавычки, чтобы не экранировать $ (правда придется использовать двойные кавычки внутри строки-кода или экранировать одиночные кавычки).
eval ("echo \$color$i = get_post_meta(\$post->ID, 'color$i', true); \$colorfile$i = get_post_meta(\$post->ID, 'colorfile$i', true); \$colorarray$i = wp_get_attachment_image_src(\$colorfile$i);");

  Ответить  
 
 автор: tima2010   (11.08.2011 в 21:25)   письмо автору
 
   для: cheops   (11.08.2011 в 21:17)
 

понял, запомню а что делать если у меня такой код:

eval ("echo \$color$i = get_post_meta($post->ID, 'color$i', true); $colorfile$i = get_post_meta($post->ID, 'colorfile$i', true); $colorarray$i = wp_get_attachment_image_src($colorfile$i);"); // вырезка кода из wordpress темы  


в данном случае он ругается на =

Parse error: syntax error, unexpected '=' in ....

  Ответить  
 
 автор: cheops   (11.08.2011 в 21:17)   письмо автору
 
   для: tima2010   (11.08.2011 в 21:13)
 

Да, нет от чего же, можно, просто не нужно использовать <?php и ?> в eval() - в него не передается HTML-код, поэтому нет надобности сообщать, где начинается и заканчивается PHP-код
<?php  
  
for ( $i=1$i<=20$i++) {  
    eval (
"echo \$color$i;"); 
  }   
?>

  Ответить  
 
 автор: tima2010   (11.08.2011 в 21:13)   письмо автору
 
   для: cheops   (11.08.2011 в 21:11)
 

Все понял, невозможно в php выполнить php ))) массив не решает задачу, спасибо за отклик.

  Ответить  
 
 автор: cheops   (11.08.2011 в 21:11)   письмо автору
 
   для: tima2010   (11.08.2011 в 21:05)
 

Не очень понятно, особенно, вот эта строка - в ней пропущен знак равенства?
$peremenka "<?php $color".$i.";  ?> \n"; 

PS Сложность будет нарастать, вы по сути уходите в сферу функционального программирования, для которой в языке нет поддержки. Лучше вместо 20 переменных $color1, ..., $color20 создать массив $color с 20 элементами, к которым вы сможете обращаться через $color[$i].

  Ответить  
 
 автор: tima2010   (11.08.2011 в 21:05)   письмо автору
 
   для: cheops   (11.08.2011 в 20:59)
 

Вот так вроде тоже работает но сами переменные как будто не работают
<?php 

for ( $i=1$i<=20$i++) { 
$peremenka "<?php $color".$i.";  ?> \n"
eval (
"\$peremenka = \"$peremenka\";");
}  

?>

  Ответить  
 
 автор: cheops   (11.08.2011 в 20:59)   письмо автору
 
   для: tima2010   (11.08.2011 в 20:54)
 

В такой постановке, можно начать отталкиваться от следующего скрипта
<?php
  
for ( $i=1$i<=20$i++) { 
    
$temp "color$i";
    echo $
$temp
  } 
?>
Но вообще говоря, массивы по вашей задаче плачут :), с ними на порядок удобнее в циклах работать.

  Ответить  
 
 автор: tima2010   (11.08.2011 в 20:54)   письмо автору
 
   для: cheops   (11.08.2011 в 20:50)
 

Добиться хочу такой глупости как сократить код средствами PHP
Оно мне не мешает просто очень интересно возможно ли такое

переменные color1,color2,color3...color20 содержат цвета которые выстраиваются в ряд (не спрашивайте для чего это нужно ))) просто есть такая задача ) суть не в этом а в том чтобы через PHP вывести PHP
или одной строкой PHP вывести 20 строк в которых отличаются лишь только цифры

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования