<?php
require dirname(__FILE__). '/lrn_tool_array_picker.php';
$data = array('s'=>1, 's2'=>2, 's3'=>3);
$lrn_tool_array_picker = new lrn_tool_array_picker();
//[ENG]Simple method, only return specific index value from array
//[CHS]简å•çš„获å–æŸäº›ç´¢å¼•
$result = $lrn_tool_array_picker->by_index($data, 's,s3');
var_export($result);
//[ENG]Simple method, exclude specific index value from array
//[CHS]简å•çš„排除æŸäº›ç´¢å¼•
$result2 = $lrn_tool_array_picker->exclude_index($data, 's,s3');
var_export($result2);
//[ENG]Exclude or return specific index value from array by rule
//[CHS]æ ¹æ®æŸäº›è§„则获å–æŸäº›ç´¢å¼•å€¼
/*
[ENG]rules array or string. If it is string, use and delimiter(&) between rule.
Format of each rule:
[path to array, delimited by "/". If next path is circular array or want to match any name of index, use "*" instead]/(_return|_return_exclude)=xx,xx,xx,xx,xx
[CHS]规则组åˆã€‚如果ä¸æ˜¯æ•°ç»„,规则之间请使用åŠè§’&连接。
æ¯æ¡è§„åˆ™æ ¼å¼å¦‚下:
[数组路径,索引å之间使用/分割。如果是循环数组ã€æˆ–匹é…ä»»æ„数组索引键,请使用*]/(_return|_return_exclude)=xx,xx,xx,xx,xx
*/
$data3 = require dirname(__FILE__). '/raw_data.php';
$conds = array(
'/_return=users,total_number', //整个数组顶端仅ä¿ç•™users,total_number节点
'/users/*/_return=idstr,screen_name,created_at,status', //users节点下æ¯ä¸ªå数组,仅ä¿ç•™idstr,screen_name,created_at,status节点
'/users/*/status/_return=idstr,created_at,text,source,pic_urls', //users节点下ã€æ¯ä¸ªå数组ä¸çš„status节点,仅ä¿ç•™idstr,created_at,text,source节点
'/users/*/status/_return_exclude=source,pic_urls', //users节点下ã€æ¯ä¸ªå数组ä¸çš„status节点,去掉source,pic_urls节点
);
//$conds = implode('&', $conds); //æ¤æ¥å¯çœç•¥
$time_pass = microtime(true);
$result3 = $lrn_tool_array_picker->by_rule($data3, $conds);
echo (microtime(true) - $time_pass) / 1;
var_export($result3);
|