Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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-寻找类型字符串而不是资源的fread等价物_Php_Arrays_Xml Parsing - Fatal编程技术网

PHP-寻找类型字符串而不是资源的fread等价物

PHP-寻找类型字符串而不是资源的fread等价物,php,arrays,xml-parsing,Php,Arrays,Xml Parsing,是否有一个现有的函数可以用与fread相同的方式实现,但只针对字符串 比如说 while($string = str_read($huge_string, 500)) { echo strlen($string); // 500 } 我当前的代码如下所示 $length = 8192; $array = str_split($xml, $length); while($string = array_shift($array)){

是否有一个现有的函数可以用与fread相同的方式实现,但只针对字符串

比如说

    while($string = str_read($huge_string, 500)) {

        echo strlen($string); // 500
    }
我当前的代码如下所示

    $length = 8192;

    $array  = str_split($xml, $length);

    while($string = array_shift($array)){

        if (! xml_parse($parser, $string, false))
        {
            return xml_error_string(xml_get_error_code($parser));
        }
    }
    xml_parse($parser, '', true);
    xml_parser_free($parser);
这是最有效的方法还是可以改进以提供更好的性能


使用$length的int_get('memory_limit');更好,因为它将使用更少的迭代

您想要实现什么?…我相信您正在寻找substr-或者如果您希望能够连续调用此函数以获取下一个500字节,您可能需要一个生成器函数-如xrange示例:D xrange($big_string,PHP_INT_MAX,500);看起来很有趣。我得多读一点。我将做一个编辑,我尽量让我的问题尽可能的笼统,这样其他人可能会从中受益。@tvgemert我做了一个编辑