PHP не хочет работать с 2х мерными массивами [SOLVED]
raskapulk 8 февраля, 2007 - 14:06
сам удивляюсь.... кодил на пхп 4 года и работал до сих пор тока под виндами...
на днях хотел написать скрипт для обработки логов сквида наткнулся на такую вот проблему =)
притом если выполнять следующее :
$a[1]="word"; $a[1]=$a; var_dump($a); echo $a[1][1];
все ок
НО ! если выполнить следующее
$str = file_get_contents("/psserv/squid/access_log"); preg_match_all ("'(.*[^\n])+'i",$str,$arr); var_dump($arr[1]); echo $arr[1][1];
то скрипт ВООБЩЕ НЕ ВЫПОЛНИТСЯ =)
если убрать ли закомментировать echo $arr[1][1];
то выполнится =)
[ebuild R ] dev-lang/php-5.1.6-r6 USE="apache2 berkdb bzip2 cli crypt ftp gdbm iconv imap ldap ming mysql mysqli ncurses nls pcre postgres readline reflection session snmp sockets spl ssl unicode xml zip zlib -adabas -apache -bcmath -birdstep -calendar -cdb -cgi -cjk -concurrentmodphp -ctype -curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif -fastbuild -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -gd -gd-external -gmp -hardenedphp -hash -hyperwave-api -informix -inifile -interbase -iodbc -ipv6 -java-external -kerberos -libedit -mcve -memlimit -mhash -msql -mssql -oci8 -oci8-instant-client -odbc -pcntl -pdo -pdo-external -pic -posix -qdbm -recode -sapdb -sasl -sharedext -sharedmem -simplexml -soap -solid -spell -sqlite -sybase -sybase-ct -sysvipc -threads -tidy -tokenizer -truetype -vm-goto -vm-switch -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xsl -yaz" 0 kB [ebuild R ] net-www/apache-2.0.58-r2 USE="apache2 ldap ssl -debug -doc -mpm-itk -mpm-leader -mpm-peruser -mpm-prefork -mpm-threadpool -mpm-worker (-selinux) -static-modules -threads" 0 kB
вот такая вот петрушка =)
у кого какие соображения ?
»
- Для комментирования войдите или зарегистрируйтесь
Странный скрипт, честно говоря
Если тебе нужно создать массив строк файла, то лучше пользуйся функцией
file()
.Re: Странный скрипт, честно говоря
речь не о строках в файле, а о двумерных массивах, а пример использования я привел не исходя от того что я неумею файлы построчно читать....
блин теперт предыдущий пост не удалить...
Что значит
Что значит вообще не выполняется? Добавь
error_reporting(E_ALL);
и покажи ошибку.У меня кстати твой код работает.
..
Не понятно, на каком этапе скрипт работает не так, как от него ожидаешь. У тебя, скорее всего, семантическая ошибка, поэтому ты бы лучше рассказал, чего ты хочешь от скрипта.
для начала
для начала сделал вот ето, может и криво разложил строку, если есть идея как это сделать более корректно - пишите =)
по поводу массивов - пересобрал php и все заработало...