كيف يمكنني التحقق لمعرفة ما إذا تم تعيين متغير Smarty بالفعل؟
-
20-08-2019 - |
سؤال
كيف يمكنني التحقق لمعرفة ما إذا كان قد تم بالفعل تعيين قيمة معينة لـ Smarty وإذا لم يتم تعيين قيمة (افتراضية)؟
إجابة:
if ($this->cismarty->get_template_vars('test') === null) {
$this->cismarty->assign('test', 'Default value');
}
المحلول
ذكي 2
if ($smarty->get_template_vars('foo') === null)
{
$smarty->assign('foo', 'some value');
}
ذكي 3
if ($smarty->getTemplateVars('foo') === null)
{
$smarty->assign('foo', 'some value');
}
لاحظ أن ل ذكي 3, ، سيكون عليك استخدامها $smarty->getTemplateVars
بدلاً من.
نصائح أخرى
وسوف get_template_vars()
يعود لاغيا إذا لم تكن تعيين متغير، حتى تتمكن من القيام
if ($smarty->get_template_vars('test') === null) {
echo "'test' is not assigned or is null";
}
ولكن ستفشل هذا الاختيار إذا كان لديك متغير تعيين ولكن تعيين لاغيا، وفي هذه الحالة يمكن أن تفعله
$tmp = $smarty->get_template_vars();
if (!array_key_exists('test', $tmp)) {
echo "'test' is not assigned";
}
ومتأكد من يمكنك القيام به:
if (!isset($smarty['foo']))
{
$smarty->assign('foo', 'some value');
}
لا تنتمي إلى StackOverflow