如何强制print_r()仅打印几个字节的数据?

时间:2019-01-16 15:40:12

标签: php

在下面的示例中,我尝试找出$ item中的内容:

using (var db = new LocationScoutContext())
{
   var countries = db.Countries.Include(c => c.Areas).ThenInclude(a => a.SubAreas).ToList();
}

但是,它太大了,我得到foreach ($address->getAllItems() as $item) { Mage::Log("item: ". print_r($item, true), 7, "model.log"); exit(); } 。我已经在php.ini中将memory_limit设置为1024

有没有办法只打印一小部分,例如只有前128 MB?

1 个答案:

答案 0 :(得分:0)

如果$ item是字符串,则可以将其切成长度为100的段:

foreach ($address->getAllItems() as $item) {
    for ($i=100; $i<strlen($item); $i+=100) {
        $shortItem = substr($item, $i-100, $i);
        Mage::Log("item: ". print_r($shortItem, true), 7, "model.log");
    }

    $shortItem = substr($item, $i-100, strlen($item));
    Mage::Log("item: ". print_r($shortItem, true), 7, "model.log");
    exit();
}