在循環數組,層層剝洋蔥的時候
提示,下標0不存在,所以,就像把當前的數組,打印出來。
又不可能使用foreach。所以,在模板中使用php
{php}
$tixing=$vo[0]['type'];
dump($tixing);
{/php}
最終解決方案
首先循環代碼是對的,只是,第二個題型中,以為沒有題目,所以是空數組,
空數組的內的下標,當然就不存在了。
提醒各位,如果在循環輸出數組的時候,出現下標不存在的情況
有兩種原因,而不是一種。
1.數組下標確實不存在
2.數組是空數組。
我下標一直存在,還提示我下標不存在,把我氣了一個多小時,最后發現,數組是空的,挖槽
如何在html中判斷,數組或者其他數據,是否為空
一、判斷變量是否為空
1、empty標簽用來判斷模板變量是否為空值
<empty name="變量名">要輸出的內容</empty>
2、如果判斷非空值可使用notempty標簽,如下所示:
<notempty name="username">username 不為空</notempty>
3、兩個標簽合並起來可寫成:
<empty name="username">username 為空值<else/>username 不為空</empty>
4、使用if方法
<if condition=" $username neq '' ">
為空
<else />
不為空
</if>
二、判斷集合數組是否為空
{if condition="empty($list) neq true" /}
集合不為空
{else /}
集合為空
{/if}
### 所有我在foreach中增加一個判斷
{foreach name='questions' item="vo" key="k"}
<div class="form-group">
<!--對題型是否有題進行判斷-->
{if condition="empty($vo) neq true"}
<h3>題型{$k+1}:{$typeList[$vo[0]['type']]}</h3>
</div>
<!--對行數據,再次進行循環-->
{foreach name='vo' item="timu" key='bm'}
<div class="form-group">
<h5>{$bm+1}.題干:{$timu['title']}<br></h5>
{foreach name='$timu["selectdata"]' item="select"}
{if condition="$timu['type'] eq 2"}
<input type="checkbox" value="{$select['key']}"
{:in_array($select['key'],$timu['answer'])?"checked":""} disabled>
{$select['key']}、{$select['value']}<br>
{else/}
<input type="radio" value="{$select['key']}"
{:in_array($select['key'],$timu['answer'])?"checked":""} disabled>
{$select['key']}、{$select['value']}<br>
{/if}
{/foreach}
</div>
{/foreach}
{else/}
<p style="color:red;font-size:20px">試卷的題型{$k+1},沒有導入題目</p>
{/if}
{/foreach}