Bir değer Array ise bir dizide bir görünüm oluşturmak için nasıl

3 Cevap php

Nasıl 22||33||50 gibi verilen bir dizeden smarty bir dizi oluşturmak ve verilen sayı smarty yukarıda numaraları gibi olup olmadığına bakmak mı?

Ben bir dize söylemek var

{$test->strings} // contains 33||12||80 

Ben numaralardan birini {$test->strings} {$test->myday} eşit olup olmadığını bakmak istiyorum

3 Cevap

Sen gerçekten benim görüşüme göre, herhangi bir veri işleme gerçekleştirmek için görünümünüzü (smarty şablon) elde edilmemelidir. Eğer şablona göndermeden önce ben bir diziye sizin dize dönüştürmek istiyorsunuz.

$str = "33||12||80";
$array = explode("||", $str);  // [33, 12, 80]

if (in_array($test->myday, $array)) {
    // it's in there
}

Smarty hakkında biliyorum ama bu saf PHP yapardım nasıl etmeyin:

if(in_array($test->myday, explode('||', $test->strings))) {
    // strings contains myday
}

Umut olur.

Sen şablonunda bir böyle şeyler yapmamalı. Eğer uygulama mantıklar (PHP) gerekli işlemleri yapmak ve şablona sonuçlarını geçmelidir.

Arada: Smarty (ve tüm Smarty gibi motorlar) ... çöp bir parçasıdır.