- Регистрация
- 26.05.15
- Сообщения
- 547
- Реакции
- 477
- Баллы
- 63
Решил заполнить атрибут alt у знаков зодиака в профиле.
Так сделано по умолчанию.
Для информации: У меня в функции getZodiac из zodiac.php, в отличие от стандарта, не передаётся расширение картинки.
Делаю так:
Логика такова:
Имеем 2 массива $zpcs и $zals.
Если значение $zpic есть в $zpcs, то заменяем его на $zals и подставляем в alt="".
Но не получается... :(((
В итоге имеем ошибку alt="Array":
Пробовал убирать проверку if, менять в массиве кавычки одинарные на двойные... Никаких изменений.
Если сделать замену так:
то alt="" прописывается без значения.
На PHPTESTER - Test PHP code online пробовал - замена работает...
В чём же моя ошибка?
И можно ли делать замену без дополнительного массива $zpcs, а сразу проверяя и подменяя значение $zpic?
Была уже идея просто переименовать все картинки правильными названиями знаков зодиака и выводить $zpic и в img, и в alt.
Но, блин, хочется подписи на русском языке сделать, а не на английском.
Так сделано по умолчанию.
PHP:
$zpic = getZodiac($current_user->b_day, $current_user->b_month);
echo '<img src="'.$current_design.'zodiac/'.$zpic.'.gif" alt="">';
Делаю так:
PHP:
$zpic = getZodiac($current_user->b_day, $current_user->b_month);
$zpcs = array('kozerog','vodolei','ribi','oven','telec','blizneci','rak','lev','deva','vesi','scorpion','strelec','zodiac');
$zals = array('Козерог','Водолей','Рыбы','Овен','Телец','Близнецы','Рак','Лев','Дева','Весы','Скорпион','Стрелец','Зодиак');
if (in_array( $zpic, $zpcs, true)):
$zalt = array_replace($zpcs, $zals); endif;
echo '<img src="'.$current_design.'zodiac/'.$zpic.'.gif" alt="'.$zalt.'">';
Логика такова:
Имеем 2 массива $zpcs и $zals.
Если значение $zpic есть в $zpcs, то заменяем его на $zals и подставляем в alt="".
Но не получается... :(((
В итоге имеем ошибку alt="Array":
HTML:
<img src="http://mychatik.ru/designes/mychatik/zodiac/blizneci.gif" alt="Array">
Пробовал убирать проверку if, менять в массиве кавычки одинарные на двойные... Никаких изменений.
Если сделать замену так:
PHP:
$zalt = array_replace($zpic, $zals);
На PHPTESTER - Test PHP code online пробовал - замена работает...
PHP:
$zpcs = array('kozerog','vodolei','ribi','oven','telec','blizneci','rak','lev','deva','vesi','scorpion','strelec','zodiac');
$zals = array('Козерог','Водолей','Рыбы','Овен','Телец','Близнецы','Рак','Лев','Дева','Весы','Скорпион','Стрелец','Зодиак');
$zalt = array_replace($zpcs, $zals);
print_r($zalt);
PHP:
Array ( [0] => Козерог [1] => Водолей [2] => Рыбы [3] => Овен [4] => Телец [5] => Близнецы [6] => Рак [7] => Лев [8] => Дева [9] => Весы [10] => Скорпион [11] => Стрелец [12] => Зодиак )
В чём же моя ошибка?
И можно ли делать замену без дополнительного массива $zpcs, а сразу проверяя и подменяя значение $zpic?
Была уже идея просто переименовать все картинки правильными названиями знаков зодиака и выводить $zpic и в img, и в alt.
Но, блин, хочется подписи на русском языке сделать, а не на английском.
Последнее редактирование: