PHP-从字符串中获取子字符串
我有一根绳子PHP-从字符串中获取子字符串,php,arrays,string,substring,Php,Arrays,String,Substring,我有一根绳子 $line = "Name=johnGender=M"; 如何生成名为$name的字符串,该字符串的值存储为john。 如何提取字符串$line中包含在=和G之间的子字符串 或者从第一次遇到的=中获取一个4个字符的子字符串(这对我很有用) 如果$line=array(“Name=john&Gender=M”,Name=carl&Gender=M),;我想把它们放在一个数组中$Name,这样$Name=array(“john”,“carl”);我想下面的方法对你有用 $name =
$line = "Name=johnGender=M";
如何生成名为$name
的字符串,该字符串的值存储为john
。
如何提取字符串$line中包含在=
和G
之间的子字符串
或者从第一次遇到的=
中获取一个4个字符的子字符串(这对我很有用)
如果
$line=array(“Name=john&Gender=M”,Name=carl&Gender=M),;
我想把它们放在一个数组中$Name
,这样$Name=array(“john”,“carl”);
我想下面的方法对你有用
$name = array();
foreach($line as $elem)
array_push($name,substr(explode("=",$elem)[1],0,4));
因此,您可以通过$name[0]、$name[1]、…
最好将输入语法设置为
$line = array("Name=john&Gender=M","Name=raja&Gender=M");
parse_str($line);
因此,您可以使用内置函数parse_str()
现在,$Name[0]
包含john和$Name[1]
包含raja
<?php
$line = "Name=johnGender=M";
//explode the string by '='
$info = explode('=', $line);
//then you have in $info[1] this string: johnGender
// and you get the first 4 characters in $name
$name = substr($info[1], 0, 4);
echo $name;
?>
输出:
约翰
输出:
约翰
卡尔
试试这个:
function strinbetween($inputstring, $start, $end){
$inputstring = " ".$inputstring;
$ini = strpos($inputstring,$start);
if ($ini == 0) {
return "";
}
$ini += strlen($start);
$len = strpos($inputstring,$end,$ini) - $ini;
return substr($inputstring,$ini,$len);
}
调用上述函数并传递字符串、起始字符串和结束字符串
$line = "Name=johnGender=M";
$parsed = strinbetween($line,'=','G');
echo $parsed;
因此,如果我们不知道名称的长度,它将返回
john
,
$line=“Name=saifurehmangender=M”
使用strpos()获取“性别”的索引
函数的作用是:查找一个字符串在另一个字符串中第一次出现的位置
对于您的情况:
$name=substr($line,5,strpos($line,Gender”)-5);
可以:)
输出:
saifurehman
每个字段之间没有实际的分隔符?例如,$line=“Name=john&Gender=M”
在我看来,这似乎是一个很大的问题。如果$line=array(“Name=john&Gender=M”,Name=carl&Gender=M”)怎么办;我想把它们放在一个数组$name中,这样$name=array(“john”,“carl”);如果$line=array(Name=john&Gender=M,Name=carl&Gender=M),我想把它们放在一个数组$Name中,这样$Name=array(“john”,“carl”);我以前从来没有用过foreach();
你会给我写一个代码吗?包括我上面写的代码。如果$line=array(Name=john&Gender=M,Name=carl&Gender=M),怎么办;我想把它们放在一个数组$name中,这样$name=array(“john”,“carl”);如果$line=array(Name=john&Gender=M,Name=carl&Gender=M),我想把它们放在一个数组$Name中,这样$Name=array(“john”,“carl”);
$line = "Name=johnGender=M";
$parsed = strinbetween($line,'=','G');
echo $parsed;