/** * Get controller from $mProjectUrl by request * @access public * @static * @param string $pPathInfo * @return array */ public static function getControllerFromUrlObject($pPathInfo = '') { $controller_params = array(); $pPathInfo = $pPathInfo ?: self::$mPathInfo; self::$mPojrectUrl->rewind(); while (self::$mPojrectUrl->valid()) { list($pattern, $controller) = self::$mPojrectUrl->current(); $pattern = '/' . str_replace('/', '\\/', $pattern) . '/'; preg_match_all($pattern, $pPathInfo, $matched); if ($matched[0][0] == $pPathInfo) { $controller_params['c'] = $controller; $controller_params['p'] = self::getParamsFromRequest($matched); break; } self::$mPojrectUrl->next(); } return $controller_params; }
<?php $array = new SplFixedArray(3); $array[0] = "Hello"; $array[1] = "world"; $array[2] = "elePHPant"; foreach ($array as $value) { echo $array->current(array("this", "should", "not", "execute")); }
<?php /* spl 提供一种固定数组数据结构,可以用以替代php的(数字索引)数组 它的性能更高。 */ $a = new SplFixedArray(6); $a[5] = 'iam5'; $a[1] = 'iam7'; //$a['a'] ="aaa"; //对固定数组对象的操作最好使用它提供的方法,而非直接以数组的方式操作,如下是设置数组元素值的方法 $a->offsetSet(0, 'iam0'); // current() 等方法都是操作的数组内部的指针,而非索引 // 默认情况下指针指向数组第一个元素。 $va = $a->current(); var_dump($va); //将一个普通数组转换为splfixarray // 默认保留数字索引,且以最大数字索引为依据生成固定数组大小,如这里是9+1 = 10 $ar = ['aaa', 'bbb', 6 => 'ccc', 9 => 'ddd']; $wo = SplFixedArray::fromArray($ar); $h4 = $wo->offsetExists(6); var_dump($h4, $wo);
public function current() { echo "A::current\n"; return parent::current(); }
/** * @return mixed */ public function current() { return $this->set->current(); }
<?php echo "Commit from Mint command line"; $array = new SplFixedArray(5); echo $array->count(); $array->setSize(10); echo '<br>' . $array->count(); $array[4] = 'lalala'; $array[1] = 'bababa'; $array->next(); echo '<br>' . $array->current(); echo '<br>' . $array->key(); echo "commit from mint PhpStorm";
$array[3] = 'value2'; // count() // 阵列长度 $array->count(); // key() // 获得当前节点的索引 $array->key(); // valid() // 判断是否还存在值 $array->valid(); // rewind() // 回到初始节点 $array->rewind(); // current() // 获得当前节点 $array->current(); // next() // 指针移动到下一个节点 $array->next(); // setSize(int $size) // 重新设置阵列数组的大小 $array->setSize(10); // getSize() // 获得阵列数组的大小 $array->getSize(); // offsetExists(int $index) // 判断该索引是否存在值,返回boolean $array->offsetExists(3); // offsetGet(int $index) // 获得该索引对应的值 $array->offsetGet(3);
/** * * * @return mixed */ public function current() { return $this->items->current(); }