dongyan3018 2013-07-18 11:24
浏览 53

php array_slice无法找到数组

Im getting some data trough someone elses script that forms an array I want to slice because there is a lot of old data in there and I only need the latest newest data.

Im creating an array from xml like this:

    $result = (object)$SOAP->Export($token, $exportCmd, $admin);

    if($result->response->code != APIResponse::Success)
      die("Failed to Export");

    $exportedXML = $result->exportResult;

    $xml = trim(str_replace("Content-type: text/xml", " ", $exportedXML));

    $xml = simplexml_load_string($xml);

    $json = json_encode($xml);

    $response = json_decode($json,TRUE);

If I print the response I get something like this:

Array ( 
[R2420] => Array ( 
[0] => Array ( [F2400] => 00200002 [F2425] => 01 [F2426] => 050 ) 
[1] => Array ( [F2001] => text [F2400] => 00200002 [F2425] => 00 [F2426] => 060 ) 
[2] => Array ( [F2001] => text [F2400] => 00200008 [F2425] => 01 [F2426] => 080 ) 
[3] => Array ( [F2001] => text [F2400] => 00200008 [F2425] => 02 [F2426] => 080 ) 
[4] => Array ( [F2001] => text [F2400] => 00200026 [F2425] => 00 [F2426] => 150 ) 
[5] => Array ( [F2400] => 00200038 [F2425] => 01 [F2426] => 330 )
)
)

This one goes to 5, the actual one till about 2000. I want for example only the last 200. But when I use $output = array_slice($response, -200, 200); It wont slice anything off, I think thats because its an array in an array, but how do I slice that?

Thanks!

  • 写回答

3条回答 默认 最新

  • dongyang9813 2013-07-18 11:28
    关注

    You could just

    $output = array_slice($response[0], -200, 200);
    

    If you were sure that it was the first element in the array you wanted.

    Just make sure to wrap it in a check that $response[0] exists.

    $output = false;
    if (!empty($response[0]))
        $output = array_slice($response[0], -200, 200);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么