2012-02-10 7 views
1

{$smarty.post.email} выходы "[email protected]"Smarty, подсчет длины строки массива?

{$smarty.post.email|count} выводит "1" вместо "14" - длина строки.

{$smarty.post.email[0]|count} выходы «1» также.

Как я могу найти длину ключа с именем «email»?

+4

бы не просто '{$ smarty.post.email | StrLen}' работать? – Guven

+0

Я забыл упомянуть о его умении v2, и он работает! я забыл проверить, что я помню, как долго искал длину строки и никогда не пытался использовать решение strlen. спасибо – JohnA

+0

Отлично! Тогда было бы здорово, если бы вы могли закрыть вопрос, выбрав ответ. Вы можете ответить на свой вопрос, или я могу добавить свой комментарий в качестве ответа. – Guven

ответ

0
$count = strlen($smarty.post.email); 

$count = strlen($smarty[post][email]); 

StrLen возвращает длину строки. Имена клавиш - это строки.

кол-во возвращает количество ключей в массиве.

+1

У меня есть smarty v2 | @count возвращает количество ключей в arrat | count возвращает количество символов в одном var non array, я предполагаю. Что должно быть strlent() php function? я предпочитаю не использовать php-код в шаблонах smarty. – JohnA

+0

Честно говоря, я не знаю, что такое «умный». Я думал, что ты имеешь в виду «умный». Если вы используете php, я не понимаю, какой недостаток в использовании strlen будет, но я могу ошибаться. Вы попробовали это, чтобы убедиться, что это работает по крайней мере? – earthmeLon

Смежные вопросы