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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

Пытаюсь написать небольшой скрипт-калькулятор для своих нужд и, поскольку в 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


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



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

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


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


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


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

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


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


(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


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

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


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


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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
15 Tia2 2346 17.4.2024, 0:54
автор: diviner99
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыСостояние после ампутации - нужна помощь
благотворительный топик
49 vitvirtual 5873 1.4.2024, 5:23
автор: vitvirtual
Открытая тема (нет новых ответов) Нужна ли плоская структура категорий в ИМ?
1 noviktamw 1171 26.3.2024, 21:50
автор: c4p1t4l15t
Открытая тема (нет новых ответов) требуется помощь с themasoftware (Темапостером)
0 Taylor 623 16.3.2024, 18:41
автор: Taylor
Открытая тема (нет новых ответов) Нужна рассылка по емаил базе сео-студий
0 kasey7 682 2.3.2024, 23:13
автор: kasey7


 



RSS Текстовая версия Сейчас: 19.4.2024, 11:50
Дизайн