Цитата:
к слову, так и не вышло с направлением по предложенным вариантам на другом форуме, если у читающих мануал и умеющих не выходит ... |
С константой нет проблем, надеюсь не сложно было разобраться?
Вот только вопрос - а зачем она там вообще нужна, константа? Такой же вопрос и по поводу:
if(...) {
$a = ...
$b = ...
} else {
$a = ...
....
зачем простое условие, выполняющее с легкостью задачу, при этом читабельность кода 100%, усложнять конструкцией, от которой в данном случае нет ни какой пользы, просто будут выполнятся еще, лишние, операции? Ради "красивости кода в одну строку"? Если по такому принципу писать код, тогда все пропало. Ну а ради понимания, то ничего сложного. Записать "как есть" это условие тернарным оператором не позволяет синтаксис. Но оператор может возвращать и массив, а значит можно определить в нем значения для переменных $a, $b, ... массивом. Проверить это ведь не сложно, выполнив простое:
$a = true ? ['a', 'b'] : ['c', 'd'];
var_dump($a);
// array(2) { [0]=> string(1) "a" [1]=> string(1) "b" }
А к возвращаемому массиву применить list(), тогда: list($a, $b) = false ? ['a', 'b'] : ['c', 'd']; echo $a . ' / ' . $b; // c / d Есть в этом что-то очень сложное для понимания? Читайте, выполняйте примеры, вникайте, и понимание будет обязательно. |
Цитата:
function getCardinalDirection($deg) {
$array = array('↑ С', '? СЗ', '→ В', '? ЮВ', '↓ Ю', '? ЮЗ', '← З', '↖СЗ');
return $array[round(($deg / 45) % 8)];
}
$a = getCardinalDirection($deg);
$deg2 = $deg + 180;
if($deg >= 180) $deg2 = $deg - 180;
$b = getCardinalDirection($deg2);
у меня северный, на погодном сервисе южный |
все разобрался, после
$a = getCardinalDirection($deg); лишнее, тогда работает верно |
Подскажите еще один момент, как и ранее писал получаю направление
в коде все верно и работает
function getCardinalDirection($deg) {
$array = array('С', 'СВ', 'В', 'ЮВ', 'Ю', 'ЮЗ', 'З', 'СЗ');
return $array[round(($deg / 45) % 8)];
}
$a = getCardinalDirection($deg);
echo '<head>
<style>
.img-arrow {
transform: rotate('.$deg.'deg);
}
</style>
</head>';
// прочее
echo '<img src="icons/arrow.png" alt="" class="img-arrow">';
полученное изображение тоже крутится. Но как вы говорили такой способ для получения изображения не совсем верный для php, я как и ранее использовал вашу подсказку , но как ее вращать из полученных данных не понятно $img = file_get_contents('icons/arrow.png'); $img2 = new Imagick(); $img2->readImageBlob($img); |
Цитата:
|
Подскажите как использовать одну функцию для двух показаний. Ругается на повтор.
function getCardinalDirection($deg) {
$array = array('С', 'СВ', 'В', 'ЮВ', 'Ю', 'ЮЗ', 'З', 'СЗ');
return $array[round(($deg / 45) % 8)];
}
$a = getCardinalDirection($deg);
function getCardinalDirection($deg) {
$array = array('strelka/N.png', 'strelka/NE.png', 'strelka/E.png', 'strelka/SE.png', 'strelka/S.png', 'strelka/SW.png', 'strelka/W.png', 'strelka/NW.png');
return $array[round(($deg / 45) % 8)];
}
$ab = getCardinalDirection($deg);
$img = file_get_contents($ab);
$icon_deg = new Imagick();
$icon_deg->readImageBlob($img);
|
Цитата:
Это $img = file_get_contents($ab) было необходимо, когда изображение было удаленным. Зачем же заниматься этим с локальными файлами? |
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 20:22. |