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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Не работает код
 
 автор: skazi   (25.11.2006 в 16:57)   письмо автору
 
 

Почему не работает этот скрипт? что там не так ;(

<?
$fruits
=array("list"=>array("a"=>"apple","b"=>"strawberry","c"=>"pineapple","d"=>"apple"),"list2"=>array("i"=>"potate","f"=>"orange","g"=>"apple","h"=>"banana"));
  for (
$i=0;$icount($i); $i++) 
  { 
    for (
$j=0;$j<count($j); $j++) 
    { 
       echo 
' | '.$fruits[$i][$j]; 
    } 
    echo 
'<br />'
  } 
?>

   
 
 автор: _Dreamer_   (25.11.2006 в 17:01)   письмо автору
 
   для: skazi   (25.11.2006 в 16:57)
 

обрати внимание на count($i) и count($j)

   
 
 автор: skazi   (25.11.2006 в 17:03)   письмо автору
 
   для: _Dreamer_   (25.11.2006 в 17:01)
 

а что в них не так?

   
 
 автор: _Dreamer_   (25.11.2006 в 17:05)   письмо автору
 
   для: skazi   (25.11.2006 в 17:03)
 

count($array) возвращает количество элементов в массиве... а у тебя там аргументом не массив а переменная...
а вообще лучше так..

  foreach ($fruits as $sa)
  {
      foreach ($sa as $val)
      {
          echo ' | '.$val;
      }
  }

   
 
 автор: aexb   (25.11.2006 в 17:05)   письмо автору
 
   для: skazi   (25.11.2006 в 17:03)
 

Вот так работает :-)
<? 
$fruits
=array(
    
"list"=>array(
        
"a"=>"apple",
        
"b"=>"strawberry",
        
"c"=>"pineapple",
        
"d"=>"apple"
    
),
    
"list2"=>array(
        
"i"=>"potate",
        
"f"=>"orange",
        
"g"=>"apple",
        
"h"=>"banana"
    
)
); 

foreach (
$fruits as $key=>$value) {
    echo 
$key."<ul>";
    foreach (
$value as $num=>$znach) {
    echo 
"<li>".$num." &mdash; ".$znach."<br>";
    }
    echo 
"</ul>";
}
?>

А не работало потому, что в скрипте цикл считался до count($i) и count($j). $i и $j - это не массивы, соответственно, все циклы выполнялись не правильно.

   
 
 автор: skazi   (25.11.2006 в 17:12)   письмо автору
 
   для: aexb   (25.11.2006 в 17:05)
 

Спасибо! :)
ошибку понял)))

   
Rambler's Top100
вверх

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