Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Проблема с функцией.
4uvak01  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 5
Пользователь №: 41286
На форуме: 1 год, 7 месяцев, 2 дня
Карма:




Начал делать, но подумал, что лучше бы функцией все это. Не получается присвоить область значений ax+by=[c,d), помогите, пожалуйста

<?php
$a=1;
$b=2;
$c=20;
$d=30;

$x=5;
$y=6;
$z=3;

if(($a*$x+$b*$y)==$c) $u=$a*$x+$b*$y;
elseif(($a*$x+$b*$y)<$c) $u=$x+$y;
elseif(($a*$x+$b*$y)>=$d) $u=1-$x-$y;
echo "u = $u";
?>


Присоединённое изображение
Присоединённое изображение
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
casper - gg  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Пользователь
Сообщений: 216
Пользователь №: 42190
На форуме: 1 год, 2 дня
Карма: 10




Что это за запись - ax+by=[c,d), если означает ax+by=c или ax+by=d то вот так можно:

if(( $a*$x+$b*$y)==($c||$d) ) $u=$a*$x+$b*$y;


часто повторяется это выражение - $a*$x+$b*$y:



$exp = $a*$x+$b*$y;

if( $exp==$c || $exp==$d ) $u=$exp;
elseif( $exp<$c ) $u=$x+$y;
elseif( $exp>$d ) $u=1-$x-$y;
echo "u =". $u;



может такая запись ax+by=[c,d) означает ax+by=c и в тоже время ax+by=d то вот так:


if( $exp==$c && $exp==$d ) $u=$exp;


Это сообщение отредактировал casper - gg - 23.02.2016 - 08:45
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата
Что это за запись - ax+by=[c,d)

Диапазон значений это. Значит, что c <= ax+by < d
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14974
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 1 день
Карма: 443




4uvak01, для начала присвой выражение ax+by какой-нибудь переменной и дальше уже работай с ним.
Например,
$condition = $a*$x + $b*$y;


И порядок условий важен. Сначала лучше сделать "меньше ЦЭ", затем "больше или равно ДЭ", а остаток как раз будет в диапазоне от ЦЭ до ДЭ.

if( $condition < $c ) {
... // выражение 2
}
else if( $condition >= $d ) {
... // выражение 3
}
else {
... // выражение 1
}


Впрочем, можно и "в лоб", в том порядке, как написано в условии:
if( $c <= $condition and $condition < $d ) {
... // выражение 1
}
else if( $condition < c ) {
... // выражение 2
}
else {
... // выражение 3
}


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

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

Опции темы Ответ в темуСоздание новой темыСоздание опроса