0

我有一串:

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

我想要逗号前的第一部分。如何在没有其余字符串的情况下自行获取第一部分“test1.doc”?

该字符串来自我内爆的数组:

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

如果更容易从它自己的数组中提取第一个值,那也可以完成这项工作。我不认为数组有任何键。

提前致谢。

4

6 回答 6

4

echo $uploadFlag[0];

呃,尝试用它代替整个代码块。既然你正在内爆它,你可以直接抓住第一块。这应该呼应正确的价值!

于 2011-10-16T22:20:50.867 回答
2

使用此代码:

$part = substr($uploadFlag , 0, strpos($uploadFlag , ','));
于 2011-10-16T22:20:41.500 回答
2
$parts = explode(',', $uploadFlag);
$firstPart = $parts[0];
于 2011-10-16T22:20:46.417 回答
2

要从字符串中提取它,您可以使用preg_replace()例如。

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

在上面的示例中,正则表达式将.*第一个逗号 ( ,) 之后直到字符串 ( $) 结尾的所有内容 ( ) 替换为空 ( '')。

或者,如果您可以在将$uploadFlag数组替换为内爆字符串之前使用该数组,那么您可以使用reset()转到数组中的第一个元素并current()提取其值。

reset($uploadFlag);
$firstPart = current($uploadFlag);
于 2011-10-16T22:23:51.553 回答
0

Implode不是正确的功能。它需要一个数组并组合成一个字符串。您正在尝试执行反向操作,该操作由以下人员处理explode

    $uploadFlag=explode( ',', $uploadFlag );
    echo $uploadFlag;
于 2011-10-16T22:24:07.027 回答
0

echo array_shift(array_slice($uploadFlag, 0, 1));将输出数组的第一个元素,即关联数组或编号数组。

于 2011-10-16T22:31:42.967 回答