<?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);
|