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

Форум PHP

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

 

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

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

тема: Непонятки с двумерным массивом
 
 автор: Владимир55   (30.10.2009 в 19:30)   письмо автору
 
 

Оператор
print_r($m_shingle_arh); 
показывает вот что:
Array ( [0] => Array ( [0] => 1 3 5 8 9 [1] => 3 5 8 9 10 [2] => 5 8 9 10 11 [3] => 8 9 10 11 1 [4] => 9 10 11 1 3 [5] => 10 11 1 3 5 [6] => 11 1 3 5 8 ) ) 

Из этого я делаю вывод, что имеет место двумерный массив, по нулевому адресу которого сделано 7 записей (я так его и создавал, так и должно быть).

Но оператор
$n_sozd = count ($m_shingl_arh);
     echo "n_sozd $n_sozd   ";
выдает голяк...

Почему не единицу?

  Ответить  
 
 автор: ols   (30.10.2009 в 21:25)   письмо автору
 
   для: Владимир55   (30.10.2009 в 19:30)
 

У меня единицу выводит.


<?php

$m_shingle_arh 
= array (Array ("1 3 5 8 9","3 5 8 9 10","5 8 9 10 11","8 9 10 11 1","9 10 11 13","10 11 1 3 5","11 1 3 5 8"));

print_r($m_shingle_arh);
echo 
'<hr>';
$n_sozd count ($m_shingle_arh);
echo 
"n_sozd $n_sozd   ";

?>

  Ответить  
 
 автор: Владимир55   (30.10.2009 в 21:42)   письмо автору
 
   для: ols   (30.10.2009 в 21:25)
 

Загадка... Три часа решаю. Весь скрипт просмотрел вдоль и поперек, пока не нашел, что причиной сбоев является вышеназванная проблема.

Буду думать...

Спасибо, что проверили!

  Ответить  
 
 автор: ols   (30.10.2009 в 21:51)   письмо автору
 
   для: Владимир55   (30.10.2009 в 21:42)
 

А как массив образуется?

  Ответить  
 
 автор: Владимир55   (31.10.2009 в 10:34)   письмо автору
 
   для: ols   (30.10.2009 в 21:51)
 

Массив создается так:
$m_shingle_arh[] = $m_shingle_new;


Проблема разрешилась предшествующим формированию массива оператором
$m_shingle_arh = array ();


Разме это обязательное условие создания массива?

  Ответить  
 
 автор: Trianon   (31.10.2009 в 13:17)   письмо автору
 
   для: Владимир55   (31.10.2009 в 10:34)
 

В аккуратном коде - да.
Если переменная $m_shingle_arh существовала до добавления элемента - безусловно.

  Ответить  
 
 автор: Владимир55   (31.10.2009 в 14:00)   письмо автору
 
   для: Trianon   (31.10.2009 в 13:17)
 

Спасибо!
"намотаю на ус".

  Ответить  
Rambler's Top100
вверх

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