我有一串:
test1.doc,application/msword,/tmp/phpDcvNQ5,0,23552
我想要逗号前的第一部分。如何在没有其余字符串的情况下自行获取第一部分“test1.doc”?
该字符串来自我内爆的数组:
$uploadFlag=implode( ',', $uploadFlag );
echo $uploadFlag;
如果更容易从它自己的数组中提取第一个值,那也可以完成这项工作。我不认为数组有任何键。
提前致谢。
echo $uploadFlag[0];
呃,尝试用它代替整个代码块。既然你正在内爆它,你可以直接抓住第一块。这应该呼应正确的价值!
使用此代码:
$part = substr($uploadFlag , 0, strpos($uploadFlag , ','));
$parts = explode(',', $uploadFlag);
$firstPart = $parts[0];
要从字符串中提取它,您可以使用preg_replace()
例如。
$firstPart = preg_replace('/,.*$/', '', $uploadFlag);
在上面的示例中,正则表达式将.*
第一个逗号 ( ,
) 之后直到字符串 ( $
) 结尾的所有内容 ( ) 替换为空 ( ''
)。
或者,如果您可以在将$uploadFlag
数组替换为内爆字符串之前使用该数组,那么您可以使用reset()
转到数组中的第一个元素并current()
提取其值。
reset($uploadFlag);
$firstPart = current($uploadFlag);
Implode
不是正确的功能。它需要一个数组并组合成一个字符串。您正在尝试执行反向操作,该操作由以下人员处理explode
:
$uploadFlag=explode( ',', $uploadFlag );
echo $uploadFlag;
echo array_shift(array_slice($uploadFlag, 0, 1));
将输出数组的第一个元素,即关联数组或编号数组。