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

Форум PHP

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

 

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

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

тема: Создание одного массива из другого

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

 
 автор: amigo62   (02.08.2007 в 23:45)   письмо автору
 
   для: Unkind   (02.08.2007 в 15:42)
 

Спасибо, много интересных вариантов! Как раз и стремлюсь к тому чтобы проще писать но пока не всегда выходит:)

   
 
 автор: Unkind   (02.08.2007 в 15:42)   письмо автору
 
   для: Trianon   (02.08.2007 в 15:33)
 

Не нужно, конечно. Но иногда встречаются те, кто не слушает, что нужно, а что нет. Так что проще показать как такое решается, нежели отговорить...

   
 
 автор: Trianon   (02.08.2007 в 15:33)   письмо автору
 
   для: Unkind   (02.08.2007 в 15:30)
 

> и решил, что нужно получить как ассоциативный массив, так и переменные с названиями, соответсвующими названиям полей.

Такого не бывает нужно никогда.
Необходимость такого может быть обусловлена только ошибкой в проектировании.
Соответственно, mysql_fetch_array() - функция, оставленная лишь для совместимости, на самом деле - паразит.

   
 
 автор: Unkind   (02.08.2007 в 15:30)   письмо автору
 
   для: Trianon   (02.08.2007 в 15:23)
 

тогда уж mysql_fetch_row()
Мне лень было читать всю тему, я посмотрел на Ваш последний пост и решил, что нужно получить как ассоциативный массив, так и переменные с названиями, соответсвующими названиям полей.

В таком случае нужна именно функция mysql_fetch_array(), так как от mysql_fetch_row() имен полей не добьешься. А с mysql_fetch_assoc() придется применять foreach, как делали Вы.

Я, например, предпочитаю работать с массивом полей.
Я, например, тоже.

   
 
 автор: Trianon   (02.08.2007 в 15:23)   письмо автору
 
   для: Unkind   (02.08.2007 в 15:15)
 

тогда уж mysql_fetch_row() .

Дело вкуса.
Я, например, предпочитаю работать с массивом полей.

   
 
 автор: Unkind   (02.08.2007 в 15:15)   письмо автору
 
   для: Trianon   (02.08.2007 в 15:11)
 

А мне кажется лучше mysql_fetch_array() и использовать list().

<?php
$result 
mysql_query("SELECT `id`, `title`, `body` FROM `table`;");

while(
$b mysql_fetch_array($result))  

   
// И здесь работать уже с $b['id'] , $b['title'], $b['body'] 
   
list($id$title$body) = $b
   
// или даже прямо с $id, $title, $body 
  //.... 


?>

   
 
 автор: Trianon   (02.08.2007 в 15:11)   письмо автору
 
   для: Unkind   (02.08.2007 в 14:56)
 

верно. Крайне дурацкая функция.
Ну тогда вместо list($id, $title, $body) = $b;
 foreach($b as $k=>$v) $$k = $v;

   
 
 автор: Unkind   (02.08.2007 в 14:56)   письмо автору
 
   для: Trianon   (02.08.2007 в 09:36)
 

list() не работает с ассоциативными массивами.

   
 
 автор: Trianon   (02.08.2007 в 09:36)   письмо автору
 
   для: amigo62   (02.08.2007 в 01:12)
 

>индекс ноль будутиметь все переменные по запросу первой строки. Далее будут и 1, и 2, и 3 и т.д., но это все обработается в цикле.

вот только первый индекс, а не второй.
Проще надо писать.

<?php 
$rez
=mysql_query("SELECT id, title, body FROM table"); 
while(
$b=mysql_fetch_assoc($rez)) 
{
   
// и здесь работать уже с $b['id'] , $b['title'], $b['body']
   
list($id$title$body) = $b;
   
// или даже прямо с $id, $title, $body
  //....

}
 
?> 

   
 
 автор: amigo62   (02.08.2007 в 01:12)   письмо автору
 
   для: Proger   (02.08.2007 в 00:51)
 

<?php
$rez
=mysql_query("SELECT id, title, body FROM table");
while(
$ar=mysql_fetch_assoc($rez)) $a[]=$ar;
?>

индекс ноль будутиметь все переменные по запросу первой строки. Далее будут и 1, и 2, и 3 и т.д., но это все обработается в цикле. Я вот подумал, может, так:
<?php
foreach($a as $key=>$val$b[$key]=$a[$key][0];
?>
a?

   

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

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

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