Littlebobbydroptables
Littlebobbydroptables

Reputation: 3731

Smarty in_array value

I have array like this

{
     "sCode":"05",
     "sCodeName":"critical_tight_connection",
     "iSeverity":1,
     "aData":{
         "iLevelOfDetailt":2,
         "iDuration":35,
         "sLabel":"Labai trumpas pers\u0117dimas, 35 min.",
         "sLink":""
     }
}

i am printing him with smarty (array is not serialized, i ve did it for your сonveniece)

{if !empty( $aSegment.aNotices.aStop )}
    <ul>
        {foreach from=$aSegment.aNotices.aStop item=aNotice}
            <li>
                <img class="{$aNotice.sCodeName}" />
                {$aNotice.sLabel}
            </li>
        {/foreach}
    </ul>
{/if}

how to check with smarty if '05' is exist in aNotices.aStop.sCode ? (before foreach cycle)

Tried this

{if in_array('05', $aSegment.aNotices.aStop)}
    exist
{/if}

Upvotes: 11

Views: 41355

Answers (3)

Littlebobbydroptables
Littlebobbydroptables

Reputation: 3731

Thank you hek2mgl and Jeff Bic, modified your answers and this works fine :

{if !$aSegment.aNotices.aStop|@count gt 0}
    {t lang='en'}Stop duration{/t}{if $server.lang != 'en'} / {t}Stop duration{/t}{/if}: {$aSector.aStops.$iSegmentIndex|mins_to_time}
{/if}

Upvotes: 0

Jeff Bic
Jeff Bic

Reputation: 566

you can use this :

{if '05'|in_array:$aSegment.aNotices.aStop}EXIST{/if}

Upvotes: 34

hek2mgl
hek2mgl

Reputation: 158100

Do you mean something like this?

{if $aNotice.sCode == '05'} ....

Upvotes: 3

Related Questions