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

Форум PHP

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

 

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

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

тема: Массив и foreach
 
 автор: OLi   (29.05.2011 в 15:29)   письмо автору
 
 

Есть массив, прохожу его в foreach

foreach ($LIm as $key){

echo recoding(pq($key->attr("src"));

}


Выводит все значения...но если пробегать в
while($i<count($LIm)) {
echo recoding(pq($LIm[$i])->attr("src")); 
$i++;
}

уже ничего не выводит..

  Ответить  
 
 автор: cheops   (29.05.2011 в 15:46)   письмо автору
 
   для: OLi   (29.05.2011 в 15:29)
 

1) Хм... не очень понятно, откуда $i берется в первом массиве foreach?
2) Какова структура массива? Это индексный массив в котором индексы пробегают значения от 0 до N или речь идет об ассоциативном массиве?

  Ответить  
 
 автор: OLi   (29.05.2011 в 15:53)   письмо автору
 
   для: cheops   (29.05.2011 в 15:46)
 

print_r($LIm)
--------------------
phpQueryObject Object ( [documentID] => 961b86dfdb8027dbef1cd56601d04554 [document] => DOMDocument Object ( ) [charset] => UTF-8 [documentWrapper] => DOMDocumentWrapper Object ( [document] => DOMDocument Object ( ) [id] => 961b86dfdb8027dbef1cd56601d04554 [contentType] => text/html [xpath] => DOMXPath Object ( ) [uuid] => 0 [data] => Array ( ) [dataNodes] => Array ( ) [events] => Array ( ) [eventsNodes] => Array ( ) [eventsGlobal] => Array ( ) [frames] => Array ( ) [root] => DOMDocument Object ( ) [isDocumentFragment] => [isXML] => [isXHTML] => [isHTML] => 1 [charset] => UTF-8 ) [xpath] => DOMXPath Object ( ) [elements] => Array ( [0] => DOMElement Object ( ) [1] => DOMElement Object ( ) [2] => DOMElement Object ( ) [3] => DOMElement Object ( ) [4] => DOMElement Object ( ) [5] => DOMElement Object ( ) [6] => DOMElement Object ( ) ) [elementsBackup:protected] => Array ( ) [previous:protected] => phpQueryObject Object ( [documentID] => 961b86dfdb8027dbef1cd56601d04554 [document] => DOMDocument Object ( ) [charset] => UTF-8 [documentWrapper] => DOMDocumentWrapper Object ( [document] => DOMDocument Object ( ) [id] => 961b86dfdb8027dbef1cd56601d04554 [contentType] => text/html [xpath] => DOMXPath Object ( ) [uuid] => 0 [data] => Array ( ) [dataNodes] => Array ( ) [events] => Array ( ) [eventsNodes] => Array ( ) [eventsGlobal] => Array ( ) [frames] => Array ( ) [root] => DOMDocument Object ( ) [isDocumentFragment] => [isXML] => [isXHTML] => [isHTML] => 1 [charset] => UTF-8 ) [xpath] => DOMXPath Object ( ) [elements] => Array ( [0] => DOMDocument Object ( ) ) [elementsBackup:protected] => Array ( [0] => DOMDocument Object ( ) ) [previous:protected] => [root:protected] => DOMDocument Object ( ) [documentFragment] => [elementsInterator:protected] => Array ( ) [valid:protected] => [current:protected] => ) [root:protected] => DOMDocument Object ( ) [documentFragment] => [elementsInterator:protected] => Array ( ) [valid:protected] => [current:protected] => )

Через foreach все замечательно работает

  Ответить  
 
 автор: cheops   (29.05.2011 в 16:03)   письмо автору
 
   для: OLi   (29.05.2011 в 15:53)
 

Т.е. $LIm это объект? Тогда у вас не получится скорее всего корректно работать с ним через целочисленные индексы (он будет приводиться к ассоциативному массиву), придется использоваться foreach. А почему вы хотите использовать другой цикл? Просто так или на это имеются какие-то причины?

  Ответить  
 
 автор: OLi   (29.05.2011 в 16:17)   письмо автору
 
   для: cheops   (29.05.2011 в 16:03)
 

Так необходимо, мне надо по отдельности выбрать из массива элементы путем передачи ему $i
Как тогда быть?

  Ответить  
 
 автор: OLi   (29.05.2011 в 16:26)   письмо автору
 
   для: OLi   (29.05.2011 в 16:17)
 

У меня в foreach другом прокручивается массив и для первой записи из него надо вытащить первую запись из другого массива

  Ответить  
 
 автор: cheops   (29.05.2011 в 16:29)   письмо автору
 
   для: OLi   (29.05.2011 в 16:17)
 

А вообще что это за объект и как он устроен? Я так понимаю, это очередь?

  Ответить  
 
 автор: OLi   (29.05.2011 в 16:43)   письмо автору
 
   для: cheops   (29.05.2011 в 16:29)
 

Это phpquery библиотека
http://code.google.com/p/phpquery/
там внизу есть пример вывода значений

  Ответить  
 
 автор: OLi   (29.05.2011 в 16:49)   письмо автору
 
   для: OLi   (29.05.2011 в 16:43)
 

Spasibo - reshil

  Ответить  
 
 автор: OLi   (29.05.2011 в 17:07)   письмо автору
 
   для: OLi   (29.05.2011 в 16:49)
 

Другого плана вопрос...можно ли объеденить занесение в массив скажем info[]
вот это по ключам title,anons и тд
foreach ($LIz as $key) {
$date_ind[] = array('date_ind' =>recoding(pq($key)->text()));
}
foreach ($LIi as $key) {
$anons[] = array('anons' =>recoding(pq($key)->text()));
}

  Ответить  
 
 автор: cheops   (29.05.2011 в 17:58)   письмо автору
 
   для: OLi   (29.05.2011 в 17:07)
 

Конечно.
foreach ($LIz as $key) { 
$date_ind[] = array('date_ind' =>recoding(pq($key)->text())); 
$anons[] = array('anons' =>recoding(pq($key)->text())); 
}

  Ответить  
 
 автор: OLi   (29.05.2011 в 23:53)   письмо автору
 
   для: cheops   (29.05.2011 в 17:58)
 

Спасибо и еще:
возможен ли такой массив
$a=array('index1.php'=>'m1.jpg','index2.php'=>'m2.jpg');
Чтобы были такие ключи
И надо будет по ключу вытаскивать значение m2.jpg и т.д
Что-то вроде этого
echo $a['index2'] должно дать m2.jpg

  Ответить  
 
 автор: cheops   (30.05.2011 в 01:04)   письмо автору
 
   для: OLi   (29.05.2011 в 23:53)
 

Да, конечно, в качестве ключа вы можете использовать любое значение, в то числе и имя файла, или даже путь к файлу, в том числе и сетевой, главное, чтобы ключ был уникальным, т.е. отличался от других ключей.

  Ответить  
 
 автор: OLi   (30.05.2011 в 01:12)   письмо автору
 
   для: cheops   (30.05.2011 в 01:04)
 

Можете пример привести божеский и получение элементов массива?

  Ответить  
 
 автор: cheops   (30.05.2011 в 11:45)   письмо автору
 
   для: OLi   (30.05.2011 в 01:12)
 

Имеется в виду вот такого массива?
$a=array('index1.php'=>'m1.jpg','index2.php'=>'m2.jpg');
А что выступает источником? Откуда брать данные? В файлах может быть множество ссылок на изображения, вам нужно какое-то конкретное? Или же эти изображения являются внешними? В общем нужно больше подробностей.

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

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