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;