2015-01-04 5 views
2

Я хочу взорвать некоторое имя файла, как показано ниже, но не хочу взорвать первый «iw5_m4a1_mp» Мне нужно пропустить «iw5_m4a1_mp», так как я могу это сделать ?! , а также у меня проблема в возвратном массиве, его просто возвращает первые данные ?.Пропустить первые формы символов взорваться

$weapon = iw5_m4a1_mp_eotech_silencer_texture; 

function getWeaponThu($weapon = null) { 

    $ThuName = $weapon; 

    $spiltthum = explode('_', $ThuName); 

    foreach($spiltthum as &$t){ 

    $ThuPath = "/img/"; 
    $ThuImg = $ThuPath . $t . ' .jpg '; 

    return $ThuImg; 

    } 
} 

Из комментариев:

всегда есть три значения в начале имени файла, но не всегда iw5_m4a1_mp средняя часть отличается как этот iw5_pp90_mp я просто хочу, чтобы пропустить три значения в использовать начальные

+1

Можете ли вы дать нам полный пример имени файла? – Reflic

+0

Если префикс, который вы хотите пропустить, исправлен, используйте 'substr', чтобы взять подстроку, которая ее не включает. В противном случае неясно, как правильно ответить на вопрос. – Jon

+0

iw5_m4a1_mp_eotech_silencer_texture это полное имя файла – taken

ответ

1
$weapon = 'iw5_m4a1_mp_eotech_silencer_texture'; 
function getWeaponThu($weapon = null) { 
    if (!$weapon) 
     return; 
    $spiltthum = explode('_', $weapon); 
    $ThuImg = []; 
    for ($i = 3; $i < count($spiltthum); $i++) 
     array_push($ThuImg,'/img/' . $spiltthum[$i] . '.jpg'); 
    return $ThuImg; 
} 
print_r(getWeaponThu($weapon)); 

Печать:

Array 
(
    [0] => /img/eotech.jpg 
    [1] => /img/silencer.jpg 
    [2] => /img/texture.jpg 
) 
+0

Спасибо, но, как вы видите, я хочу в foreach ($ spiltthum as & $ t) {Мне нужно вернуться в split, например eotech.jpg и silencer.jpg и texture.jpg не все в одном – taken

+0

@ вы заметили, что это было не то, о чем вы попросили изначально. Вам нужно будет вернуть массив изображений. Это то, что вам нужно? –

+0

Отредактированный ответ для возврата массива. – Fabius

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