详解PHP中foreach的用法和实例

2019-05-02 18:13:52刘景俊

但有时候我们不得不将之列为一个一维数组,于是我们就有了以下的方法:

//获取name列作为一维数组
$nameArr = array(); //name列
foreach ($d as $key => $value) {
  $nameArr[] = $value['name'];
}
print_r($nameArr);

以上通过赋空数组值,foreach 这个空数组等于我们的值,就得到了一个新的数组!以上代码的结果如下:

Array
(
  [0] => Tom
  [1] => Mary
  [2] => Peter
  [3] => Jack
)

这个数组明显是:一维普通数组,如下:

$d = array('Tom','Mary','Peter','Jack');

好了,将二维关联数组变为一维普通数组就写到了这里!

实战2 :二级分类以及无限级分类

很明显,我们从数据库中取出来的数据就是一个二维数组,而且是二维关联数组。那么,我们怎么取出父分类?怎么取出对应父分类的子分类呢?

首先要说明的是:几乎所有的分类都是一个数据库模式,因此我们十分有必要了解它的结构,还有怎么取出对应的数据!

对于二级分类,为了说明方便,我从网上找一个比较好说明的例子,那就是“新闻分类“!

好了,废话不多说,开始正题!我们先写一个数组。

//从数据库中取出的分类数据
$original_array = array(
  array('id' => 1,'pid' => 0,'name' => '新闻分类'),
  array('id' => 2,'pid' => 0,'name' => '最新公告'),
  array('id' => 3,'pid' => 1,'name' => '国内新闻'),
  array('id' => 4,'pid' => 1,'name' => '国际新闻'),
  array('id' => 5,'pid' => 0,'name' => '图片分类'),
  array('id' => 6,'pid' => 5,'name' => '新闻图片'),
  array('id' => 7,'pid' => 5,'name' => '其它图片')
);

同时,数据库是这个样子的。

说明:数据库的分类就是这个样子的!取出来的数组也是这个样子的!一般这样子的!

//从数据库中取出的分类数据
$original_array = array(
  array(
    'id' => 1,
    'pid' => 0,
    'name' => '新闻分类'
  ),
  array(
    'id' => 2,
    'pid' => 0,
    'name' => '最新公告'
  ),
  array(
    'id' => 3,
    'pid' => 1,
    'name' => '国内新闻'
  ),
  array(
    'id' => 4,
    'pid' => 1,
    'name' => '国际新闻'
  ),
  array(
    'id' => 5,
    'pid' => 0,
    'name' => '图片分类'
  ),
  array(
    'id' => 6,
    'pid' => 5,
    'name' => '新闻图片'
  ),
  array(
    'id' => 7,
    'pid' => 5,
    'name' => '其它图片'
  )
);

那么首先我们得知道我们想要的结果是什么样子呢?这一点:我们必要知道!(以前我对这方面了解比较不深,又常用开源程序,因此导致我不怎么会写这方面了)

相关文章 大家在看