免费邮箱 |加入收藏 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > PHP专区 > PHP教程

引用做什么

时间:2011-05-16 15:58:23  来源:站内  作者:潘春会

 * $data  - Multidimensional array to be keyed
 * $keys  - List containing the index/key(s) to use.
 * $dupl  - How to handle rows containing the same values.  TRUE stores it as an Array, FALSE overwrites the previous row.
 *         
 * Returns a multidimensional array indexed by $keys, or NULL if error.
 * The number of dimensions is equal to the number of $keys provided (+1 if $dupl=TRUE).
 */  
{
   
// Sanity check
   
if (!is_array($data)) return null;
   
   
// Allow passing single key as a scalar
   
if (is_string($keys) or is_integer($keys)) $keys = Array($keys);
    elseif (!
is_array($keys)) return null;

   
// Our output array
   
$out = Array();
   
   
// Loop through each row of our input $data
   
foreach($data as $cx => $row) if (is_array($row))
    {
     
     
// Loop through our $keys
     
foreach($keys as $key)
      {
       
$value = $row[$key];

        if (!isset(
$last)) // First $key only
       
{
          if (!isset(
$out[$value])) $out[$value] = Array();
         
$last =& $out; // Bind $last to $out
       
}
        else
// Second and subsequent $key....
       
{
          if (!isset(
$last[$value])) $last[$value] = Array();
        }

       
// Bind $last to one dimension 'deeper'.
        // First lap: was &$out, now &$out[...]
        // Second lap: was &$out[...], now &$out[...][...]
        // Third lap:  was &$out[...][...], now &$out[...][...][...]
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
如何找出DHCP地址池里未使用的IP地址
如何找出DHCP地址池里
国内常用的DNS列表
国内常用的DNS列表
Linux邮件服务器软件比较
Linux邮件服务器软件比
学用纯CSS打造可折叠树状菜单
学用纯CSS打造可折叠树
相关文章
栏目更新
栏目热门