Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多少次-&引用;字符串开头(字母前)_Php_String_Count_Substr_Find Occurrences - Fatal编程技术网

Php 多少次-&引用;字符串开头(字母前)

Php 多少次-&引用;字符串开头(字母前),php,string,count,substr,find-occurrences,Php,String,Count,Substr,Find Occurrences,我很难知道有多少次-字符位于字符串的前面 一些例子: $string = "-Lorem Ipsum"; // 1 $string = "--Lorem Ipsum"; // 2 $string = "---Lorem Ipsum"; // 3 $string = "--Lorem-Ipsum"; // 2 但我怎么能找到这个?我知道你可以搜索字符串中某个字符的出现次数。但是我想在字母表前面加上-字符数。并非所有序列(参见最后一个示例) 我应该如何处理这个问题?您可以使用传统的技巧,将

我很难知道有多少次
-
字符位于字符串的前面

一些例子:

$string = "-Lorem Ipsum";   // 1
$string = "--Lorem Ipsum";  // 2
$string = "---Lorem Ipsum"; // 3
$string = "--Lorem-Ipsum";  // 2
但我怎么能找到这个?我知道你可以搜索字符串中某个字符的出现次数。但是我想在字母表前面加上
-
字符数。并非所有序列(参见最后一个示例)


我应该如何处理这个问题?

您可以使用传统的技巧,将字符串用作数组,如下所示:

$search="-";
$i=0;
while($string[$i]==$search)
{
    $i++;
}
echo "Found $i instances at the start of the string.";

使用
ltrim()
strlen()

请参见

它也会起作用-

preg_match('/(?!-)/', $string, $match, PREG_OFFSET_CAPTURE);
$match
-任何字符的位置,但
-
实际上是
-
的计数

preg_match('/(?!-)/', $string, $match, PREG_OFFSET_CAPTURE);