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

Форум PHP

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

 

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

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

тема: Присвоить "0" элементам массива пустых значений
 
 автор: designshadow   (15.12.2010 в 00:06)   письмо автору
 
 

Такой вот запрос - получаю значения подсчёта, потом складываю некоторые значения.
Так вот, бывает ситуация когда приходится прибавлять пустое значение, это не совсем корректно. Как можно всем пустым элеменам массива присвоить 0?

 $my_arr=array();
    $result_count = mysql_query("SELECT model, COUNT(model) as mdl FROM goods GROUP BY model",$db);
  
    if (mysql_num_rows($result_count) > 0)
    {
    while($res=mysql_fetch_assoc($result_count))
    {
    $my_arr[$res['model']]=$res['mdl'];
    } 
    $get = $my_arr[1]+$my_arr[13];
    
    $get2 = $my_arr[18]+$my_arr[19];
    }

  Ответить  
 
 автор: Лена   (15.12.2010 в 00:14)   письмо автору
 
   для: designshadow   (15.12.2010 в 00:06)
 

А если не присваивать 0, а просто перед прибавлением проверять элемент массива на пустоту через empty()?

  Ответить  
 
 автор: designshadow   (15.12.2010 в 00:21)   письмо автору
 
   для: Лена   (15.12.2010 в 00:14)
 

Можно и так, просто на самом деле слишком много значений.

  Ответить  
 
 автор: Лена   (15.12.2010 в 00:32)   письмо автору
 
   для: designshadow   (15.12.2010 в 00:21)
 

Если много, тогда так. Вы там немного выше забиваете массив значениями:

$my_arr[$res['model']]=$res['mdl'];

Можно проверять на пустоту $res['mdl'], если оно пустое, зачем его запихивать в массив?

  Ответить  
 
 автор: designshadow   (15.12.2010 в 00:33)   письмо автору
 
   для: Лена   (15.12.2010 в 00:32)
 

Ok, попробуем :-)

  Ответить  
 
 автор: Trianon   (15.12.2010 в 01:36)   письмо автору
 
   для: designshadow   (15.12.2010 в 00:06)
 

1. ни $res['model'] ни $res['mdl'] пустым у Вас всяко не окажется. О какой пустоте идет речь?
2. Вы сами-то как, нормально читаете текст сктрипта, в котором ни в if ни в while подчиненный оператор ни на один пробел не сдвинут вправо?

  Ответить  
 
 автор: designshadow   (15.12.2010 в 02:15)   письмо автору
 
   для: Trianon   (15.12.2010 в 01:36)
 

1 - Kак так не окажется?

2 - Это уже другой вопрос.

  Ответить  
 
 автор: Trianon   (15.12.2010 в 02:48)   письмо автору
 
   для: designshadow   (15.12.2010 в 02:15)
 

>1 - Kак так не окажется?
Так а с чего бы им взяться, при группирующем агрегатном запросе, когда требуют ключ группы и агрегат?

>2 - Это уже другой вопрос.
В смысле другой?
До Вас не доходит, что текст в таком форматировании читается примерно также как и в таком
        $my_arr = array ( )  ;  $result_count = mysql_query (
"SELECT model, COUNT(model) as mdl FROM goods GROUP BY model"
, $db ) ; if ( mysql_num_rows ( $result_count ) > 0 ) { while
( $res = mysql_fetch_assoc ( $result_count ) )   {  $my_arr [ 
$res [ 'model' ] ] = $res [ 'mdl' ] ; }  $get = $my_arr [ 1 ]
+ $my_arr [ 13 ] ; $get2 = $my_arr[ 18 ] + $my_arr [ 19 ] ; }

и ничего, кроме омерзения, не вызывает?

  Ответить  
 
 автор: designshadow   (15.12.2010 в 03:12)   письмо автору
 
   для: Trianon   (15.12.2010 в 02:48)
 

1. Так а что делать?

2. Что то вы загнули...

  Ответить  
 
 автор: Trianon   (15.12.2010 в 03:16)   письмо автору
 
   для: designshadow   (15.12.2010 в 03:12)
 

ответ на оба вопроса.

Переформатировать код аккуратно.
Задать вопрос четко и ясно, чтобы было понятно, в чем Ваша проблема.
Пока что проблема надумана.

  Ответить  
 
 автор: designshadow   (15.12.2010 в 03:22)   письмо автору
 
   для: Trianon   (15.12.2010 в 03:16)
 

Вы наверное не можете понять суть проблемы, может позже разъясню.

  Ответить  
 
 автор: Trianon   (15.12.2010 в 03:38)   письмо автору
 
   для: designshadow   (15.12.2010 в 03:22)
 

Я Вам именно об этом и говорю.
Вы эту самую проблему не смогли описать так, чтобы я её понял.

  Ответить  
 
 автор: designshadow   (15.12.2010 в 03:49)   письмо автору
 
   для: Trianon   (15.12.2010 в 03:38)
 

Ну это нормально, кто-то понимает, а кто-то не понимает, это уже ближе к философии :)

  Ответить  
 
 автор: Trianon   (15.12.2010 в 04:03)   письмо автору
 
   для: designshadow   (15.12.2010 в 03:49)
 

Само собой.
Если Вы только заради поговорить за жисть, то ради бога :)))
Хотя в разделе "разное" такой дзен уместен бы был более.

кстати.
+ @$my_arr[13];
нет?

  Ответить  
 
 автор: designshadow   (15.12.2010 в 04:50)   письмо автору
 
   для: Trianon   (15.12.2010 в 04:03)
 

И что это даст? Не будет прибавлять того чего не существует?

  Ответить  
 
 автор: Trianon   (15.12.2010 в 12:58)   письмо автору
 
   для: designshadow   (15.12.2010 в 04:50)
 

попробуйте.

  Ответить  
 
 автор: ride   (15.12.2010 в 09:44)   письмо автору
 
   для: Trianon   (15.12.2010 в 02:48)
 

>>Так а с чего бы им взяться, при группирующем агрегатном запросе, когда требуют ключ группы и агрегат?
ну так выборка же идет не с таблицы models, а с товаров.
если предположить, что model - это категория товара, то все вроде-как реально.

  Ответить  
 
 автор: Trianon   (15.12.2010 в 12:57)   письмо автору
 
   для: ride   (15.12.2010 в 09:44)
 

я же сказал, что в $res пустот не будет.
что будут определены взятые с неба элементы $my_arr, я не утверждал.

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

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