普通ARray,SPL阵列和SPL数据存储之间有什么区别,*usage*scenerio?如果有人能给出一些SPLarray和SPL对象的使用的实际例子,那将是很棒的.
其主要优点SplFixedArray是,对于数组用例的某个子集,它要快得多(该子集是仅具有整数键和固定长度的数组)。因此,例如:
$a = array("foo", $bar, 7, ... thousands of values ..., $quux);
$b = \SplFixedArray::fromArray($a);
// here, $b will be much faster to use than $a
Run Code Online (Sandbox Code Playgroud)
这个类的用法实际上可以是任何可以使用数组的东西,但发现它们以前太慢了。很多时候,在对大数据集进行复杂计算时就会出现这种情况。对于典型的基于 PHP 的 Web 应用程序或网站,不会有很多(如果有的话)需要性能提升的情况。
然而,该类SplObjectStorage在各种典型情况下都很有用。它提供了一种将对象映射到其他数据的方法。因此,例如,也许您有一个Route类,您希望提供到Controller类的映射:
$routeOne = new Route(/* ... */);
$routeTwo = new Route(/* ... */);
$controllerOne = new Controller(/* ... */);
$controllerTwo = new Controller(/* ... */);
$controllers = new \SplObjectStorage();
$controllers[$routeOne] = $controllerOne;
$controllers[$routeTwo] = $controllerTwo;
// now you can look up a controller for a given route by: $controllers[$route]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1733 次 |
| 最近记录: |