Получить первую часть строки в php - PullRequest
0 голосов
/ 17 октября 2011

У меня есть строка:

test1.doc,application/msword,/tmp/phpDcvNQ5,0,23552 

Я хочу первую часть перед запятой.Как получить первую часть 'test1.doc' отдельно от остальной части строки?

Строка получена из развернутого мною массива:

$uploadFlag=implode( ',', $uploadFlag );
echo $uploadFlag;

Если прощеизвлекать только первое значение из массива самостоятельно, что также сделает работу.Я не думаю, что массив имеет какие-либо ключи.

Заранее спасибо.

Ответы [ 6 ]

4 голосов
/ 17 октября 2011

echo $uploadFlag[0];

Э-э, попробуйте это вместо всего этого куска кода. Поскольку вы взрываете его, вы можете просто взять первый кусок. Это должно отражать правильное значение!

2 голосов
/ 17 октября 2011

Чтобы извлечь его из строки, вы можете использовать, например, preg_replace().

$firstPart = preg_replace('/,.*$/', '', $uploadFlag);

В приведенном выше примере регулярное выражение заменяет все (.*), чтоследует за первой запятой (,) до конца строки ($) ни с чем ('').

Или, если вы можете использовать массив $uploadFlag перед его заменой назатем вы можете использовать reset() для перехода к первому элементу в массиве и current() для извлечения его значения.

reset($uploadFlag);
$firstPart = current($uploadFlag);
2 голосов
/ 17 октября 2011

Используйте этот код:

$part = substr($uploadFlag , 0, strpos($uploadFlag , ','));
1 голос
/ 17 октября 2011
$splitted = explode(',', $uploadFlag);
$splitted[0];
0 голосов
/ 17 октября 2011

echo array_shift(array_slice($uploadFlag, 0, 1)); выведет первый элемент вашего массива, будучи ассоциативным или пронумерованным массивом.

0 голосов
/ 17 октября 2011

Implode - неправильная функция. Он принимает массив и объединяет в одну строку. Вы пытаетесь выполнить обратную операцию, которая обрабатывается explode:

    $uploadFlag=explode( ',', $uploadFlag );
    echo $uploadFlag;
...