PHP从字符串中获取动态值


PHP Get dynamic value from string

我正试图从字符串中获取一个动态值。但是什么都没有出现。

ob_start();
var_dump($torrent->result['info']['pieces']);
$pieces = ob_get_clean();
$piecescorrected = explode($pieces, 'string(*)');
echo $piecescorrected;`

这是怎么回事?

编辑:一些澄清。$pieces需要从后面的所有其他随机字符中筛选出来。$pieces产量:

string(12620) "< ÏÚÿÊܵ䬧âW—µ-‘CÄÞ½§§¼ø0LØëÍI­×L —@c õL2“iÓ¹ý¼Bl'-“’4žþÊYï‡

现在$pieces需要通过过滤掉string(12620)进行校正但是这个值是动态的,所以我使用了$piecescorrected = explode($pieces, 'string(*)');注意字符串中的*(*)

在注释中,您实际上只想要字符串长度。

因此,您不需要任何输出缓冲或explode()调用。只需像这样使用strlen()

echo strlen($torrent->result['info']['pieces']);

输出:

12620

这就是它的问题所在:explode()正在寻找一个文本字符串。它不需要通配符。

如果您有一个像1,2,3,4这样的字符串,您可以使用explode(',', '1,2,3,4')通过逗号分隔来获得这些值的数组。在这里,您可以拆分字面'string',但不能拆分'string(*)'