X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> PHP массив. Нужна небольшая помощь.
scanread
scanread
Topic Starter сообщение 15.12.2012, 6:45; Ответить: scanread
Сообщение #1


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


Доброго времени суток, уважаемые форумчане!

Пытаюсь написать небольшой скрипт-калькулятор для своих нужд и, поскольку в php пока не очень знаюсь, прошу мне немножко помочь.

Пока сварганил вот так:

Развернуть/Свернуть
<?php
//входные данные

$pr1=3;
$pr2=15;
$kr=0;
$kb=0;
$effect=0.8;
$effectcost=0.7;
$remcost=2400;
$cost=2000;
$arenda=300;

$info = array(); //массив для записи

//конец входных данных

if ($pr1 > 0)
$kb = $pr1;
for ($kr=1; $pr2>=2; $kr++){
$pr1 = floor($pr2 * $effect);
$kb = $kb+ $pr1;
$pr2 = $pr2-1;
$ccc=ceil(($remcost*$effectcost*$kr+$cost)/($kb));
$iz = ceil($remcost*$effectcost*$kr+$cost);
$arendacost = round($arenda*$kb);
$money = $arendacost - $iz;

$info[0] = $pr1;
$info[1] = $kb;
$info[2] = $pr2;
$info[3] = $kr;
$info[4] = $ccc;
$info[5] = $iz;
$info[6] = $arendacost;
$info[7] = $money;

echo "после ".$info[3]." ремонта ".$info[0]."/".$info[2]." к-ство - ".$info[1]." СС = ".$info[4]." Итог затраты = ".$info[5].
" Выручка = ".$info[6]." Выручка вся = ".$info[7]."<br />";
}
$kr = $kr-1;
echo "С этим можно провести ".$info[1]." к-ство после ".$info[3]." ремонтов";

?>


1. Не знаю как, автоматизировать запись в массив, чтобы не приходилось писать $info[n] = значение.
2. Данные, что в $info[7] необходимо как-то в том же цикле сравнить, и если $info[7]<=0, то дальше чтобы данные не считались и не выводились. Вывод и обсчет info[0-6] только до тех пор, пока данное значение (info[7]) больше нуля.

З.Ы. прошу прощения за нубские вопросы, пока лишь только учимся post-2472-1287325497.gif

Заранее благодарю.

Сообщение отредактировал scanread - 15.12.2012, 6:48


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
moto-arena
moto-arena
сообщение 15.12.2012, 9:28; Ответить: moto-arena
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 441
Регистрация: 10.11.2009
Из: Снежное
Поблагодарили: 96 раз
Репутация:   28  


(scanread @ 15.12.2012, 5:45) *
Не знаю как, автоматизировать запись в массив, чтобы не приходилось писать $info[n] = значение.



Не совсем ясна задача. Откуда должны браться значения и что значит автоматизировать?

Стукнитесь в icq. Постараюсь помочь.
icq в профиле.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 15.12.2012, 9:51; Ответить: webpavilion
Сообщение #3


сеошник на пенсии
*******

Группа: Active User
Сообщений: 2726
Регистрация: 28.4.2009
Из: МО
Поблагодарили: 1659 раз
Репутация:   171  


заем вы в массив то все складываете?
вот так удобнее же и нагляднее: echo "С этим можно провести {$pr1} к-ство после {$kr} ремонтов";


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zexis
zexis
сообщение 15.12.2012, 10:22; Ответить: zexis
Сообщение #4


Новичок
*

Группа: User
Сообщений: 39
Регистрация: 15.12.2010
Поблагодарили: 4 раза
Репутация:   1  


Для того что бы добавить элемент в массив используйте функцию.
array_push
она добавляет новый элемент к массиву не зависимо от того сколько в нем уже есть элементов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 15.12.2012, 11:10; Ответить: x64
Сообщение #5


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3432
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2750 раз
Репутация:   289  


(zexis @ 15.12.2012, 10:22) *
используйте функцию.
array_push

для чего? (:

$info = array();
// пусть пых сам индексы назначает
info[] = $pr1;
$info[] = $kb;
и т. д.
if ($info[7] <= 0) break; // прервать цикл

но соглашусь с камрадами, которые отписались ранее. для чего нужен массив? если бы вывод был вида
echo implode(', ', $info);
ещё бы понятно, а так... загадка


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 15.12.2012, 16:02; Ответить: scanread
Сообщение #6


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1005
Регистрация: 16.12.2009
Поблагодарили: 178 раз
Репутация:   54  


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

x64, оно прерывает полностью работу цикла, и "+" значения не выводит. А необходимо чтобы выводило "+" до первого "-".


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
winex
winex
сообщение 19.12.2012, 9:35; Ответить: winex
Сообщение #7


Новичок
*

Группа: User
Сообщений: 49
Регистрация: 3.9.2012
Поблагодарили: 5 раз
Репутация:   0  


попробуй работать сразу со значениями в массиве
$arr['pr1']=3;
$arr['pr2']=15;
и тд


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужны услуги php-разработчика, бартером за дизайн
вы мне скрипт, я вам дизайн
0 Caterpillar 211 Вчера, 23:15
автор: Caterpillar
Открытая тема (нет новых ответов) Безвозмездная помощь в социальных сетях
Инвайты, посты, репосты, лайки и тп
9 PostBrigada 2300 16.12.2017, 15:47
автор: WildWeb8
Открытая тема (нет новых ответов) Нужна помощь в активации аккаунта AdSense
10 dimaguru 2608 15.12.2017, 11:12
автор: Ley
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 661 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3485 12.12.2017, 13:32
автор: qpPeW


 



RSS Текстовая версия Сейчас: 18.12.2017, 9:46
Дизайн