Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #61 (permalink)  
Старый 18.12.2020, 13:27
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
Вам надо выводить в верхнем регистре все? Выводе на здоровье, никто не запрещает.
Полнейшая чушь это ('$cityname') и "лечение" этого как mb_strtoupper(...). И если первое вам нужно, то зачем вы эту дурь к температуре клеите?

Ни кто с вами и не собирается вести военные действия, просто вам нужно начинать учить язык с его основ, а не хвататься сразу за то, в чем вы разобраться не можете. Это JS, но суть та же, выполните:

var $cityname = 'Город';
alert($cityname + '\n' + '$cityname')

Вопрос - почему во второй строке не выводит Город?
так не верно:
$cityname = 'Город';
echo 
$cityname;
Ответить с цитированием
  #62 (permalink)  
Старый 18.12.2020, 13:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ALFRED450
так не верно:
Что именно не верно?

А вот так в обеих случаях будет вывод не строки $cityname, а значения переменной $cityname.

var $cityname = 'Город';
alert($cityname + '\n' + `${$cityname}`)


Такая возможность появилась в JS не так давно, и при этом строка заключена в обратные косые кавычки. В РНР вывод значений переменных (выполнение кода) в строке доступно давно, но возможно только тогда когда строка заключена не в одинарные, а в двойные кавычки. Именно поэтому простые строки в РНР лучше заключать в одинарные, а не двойные кавычки, чтобы избавить парсер от бесполезного разбора строки. Читайте об этом в разделе руководства по ссылке.

Но в данном случае поступать так "$cityname" вместо $cityname при передачи строки в функцию, это такая же глупость, как и rtrim(...) ради вывода. Если вы такие грабли в коде пишите, значит что-то вы упустили. Чудес не бывает, они легко объясняются незнанием, непониманием, невниманием или элементарными ошибками. Мы люди и нам свойственно ошибаться, поэтому нужно внимательно изучить то, что вы написали, проверить что и как вы отдаете в функцию и т.п., и тогда вы обнаружите свой же баг. Именно свой, ибо причиной "такой странности" являетесь вы, а никак не язык РНР или его расширения.

Скачивайте руководство РНР, оно в CHM формате на многих языках, скачивайте то что с примерами, и изучайте с самого начала, только так будут познания и опыт, через попу не получится.

Последний раз редактировалось laimas, 18.12.2020 в 13:45.
Ответить с цитированием
  #63 (permalink)  
Старый 18.12.2020, 13:47
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
Что именно не верно?

А вот так в обеих случаях будет вывод не строки $cityname, а значения переменной $cityname.

var $cityname = 'Город';
alert($cityname + '\n' + `${$cityname}`)


Такая возможность появилась в JS не так давно, и при этом строка заключена в обратные косые кавычки. В РНР вывод значений переменных (выполнение кода) в строке доступно давно, но возможно только тогда когда строка заключена не в одинарные, а в двойные кавычки. Именно поэтому простые строки в РНР лучше заключать в одинарные, а не двойные кавычки, чтобы избавить парсер от бесполезного разбора строки. Читайте об этом в разделе руководства по ссылке.

Но в данном случае поступать так "$cityname" вместо $cityname при передачи строки в функцию, это такая же глупость, как и rtrim(...) ради вывода. Если вы такие грабли в коде пишите, значит что-то вы упустили. Чудес не бывает, они легко объясняются незнанием, непониманием, невниманием или элементарными ошибками. Мы люди и нам свойственно ошибаться, поэтому нужно внимательно изучить то, что вы написали, проверить что и как вы отдаете в функцию и т.п., и тогда вы обнаружите свой же баг. Именно свой, ибо причиной "такой странности" являетесь вы, а никак не язык РНР или его расширения.

Скачивайте руководство РНР, оно в CHM формате на многих языках, скачивайте то что с примерами, и изучайте с самого начала, только так будут познания и опыт, через попу не получится.
))) 7 страниц пытки чтоб ......$city_text_pixel_y, 0, "$cityname");
взять просто в двойные кавычки. Спасибо большое - это не сарказм.
Даже "аспирантом" стал ))) взял в двойные, чтобы избавить себя от этого звания

Последний раз редактировалось ALFRED450, 18.12.2020 в 13:50.
Ответить с цитированием
  #64 (permalink)  
Старый 18.12.2020, 13:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ALFRED450
взять просто в двойные кавычки
Опять 25 - не нужно вообще никаких кавычек!

Есть функция, которая ожидает строку, пусть так fun(string). Если вы пишите в коде явно с передачей строки "Текст", то и должны писать fun("Текст") вызывая функцию. Но если эта строка ранее определена в переменной $var, то вызов будет fun($var), обрамлять при этом имя переменной кавычками не надо, это дурь не иначе.
Ответить с цитированием
  #65 (permalink)  
Старый 18.12.2020, 14:10
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
Опять 25 - не нужно вообще никаких кавычек!

Есть функция, которая ожидает строку, пусть так fun(string). Если вы пишите в коде явно с передачей строки "Текст", то и должны писать fun("Текст") вызывая функцию. Но если эта строка ранее определена в переменной $var, то вызов будет fun($var), обрамлять при этом имя переменной кавычками не надо, это дурь не иначе.
окончательно запутался, как китайская грамота

if($cityname){ //город
	$draw->setFont(BASEPATH."/font/".$font_city);
	$draw->setTextAlignment(Imagick::ALIGN_LEFT);
    $draw->setFontSize($city_font_size);
    $draw->setFillColor("rgb(".$city_font_color.")");
    $bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, 0, "$cityname");

что куда писать?
Ответить с цитированием
  #66 (permalink)  
Старый 18.12.2020, 14:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, 0, $cityname);


На черта вы упорно переменную обрамляете в кавычки? И это когда рядом $city_text_pixel_y без этой чуши и нормально указывается.
Ответить с цитированием
  #67 (permalink)  
Старый 18.12.2020, 14:28
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

Сообщение от laimas Посмотреть сообщение
$bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, 0, $cityname);


На черта вы упорно переменную обрамляете в кавычки? И это когда рядом $city_text_pixel_y без этой чуши и нормально указывается.
Верно, блин, ну пробовал я вроде так и не получалось.Убрал, работает.
Я выше просил, а как сделать чтобы
if($cityname){ //город
отключался как сделано со временем, днем и неделей
$view_today = false; // День недели
$view_date = true; // Число
$view_clock = true; // Часы
$cityname = false // не отключает
Ответить с цитированием
  #68 (permalink)  
Старый 18.12.2020, 14:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ALFRED450
$cityname = false // не отключает
Понятия не имею, разбирайтесь, выведите в браузер значение переменной, в общем анализируйте.
Ответить с цитированием
  #69 (permalink)  
Старый 18.12.2020, 16:32
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

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

if($view_cityname){ //город
$draw->setFont(BASEPATH."/font/".$font_city);
$draw->setTextAlignment(Imagick::ALIGN_LEFT);
$draw->setFontSize($city_font_size);
$draw->setFillColor("rgb(".$city_font_color.")");
$bg->annotateImage($draw, $city_text_pixel_x, $city_text_pixel_y, 0, $cityname);

тогда:
$view_cityname = false; //отключается
Ответить с цитированием
  #70 (permalink)  
Старый 20.12.2020, 18:58
Аспирант
Отправить личное сообщение для ALFRED450 Посмотреть профиль Найти все сообщения от ALFRED450
 
Регистрация: 07.12.2020
Сообщений: 72

не могли бы вы подсказать почему получая содержимое из текстового файла не получается вывести как примерами выше, то есть соединить с графикой?
$handle = fopen("statistika/online.txt", "r");
while (!feof($handle)) {
    $buffer = fgets($handle, 50);
    echo $buffer;
}
fclose($handle);

->
if($vs){ //статистика
	$draw->setFont(BASEPATH."/font/".$font_server);
	$draw->setTextAlignment(Imagick::ALIGN_LEFT);
    $draw->setFontSize($server_font_size);
    $draw->setFillColor("rgb(".$server_font_color.")");
    $bg->annotateImage($draw, $server_text_pixel_x, $server_text_pixel_y, 0, $buffer);
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Карта погоды Яндекс на сайт spinastr Общие вопросы Javascript 4 25.04.2018 20:05
Как вывести свои иконки погоды? spinastr Общие вопросы Javascript 18 01.03.2018 14:07
Bспользование стороннего API погоды ojv08612 Node.JS 1 28.02.2017 18:00
Разработка с помощью Jquery. Скрипт смены иконки погоды 2K2L Мобильный JavaScript 1 06.04.2015 18:02
Скрипт для погоды. Типа плеера. Ruskat Общие вопросы Javascript 1 28.07.2011 02:44