- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
今天学习了PHP中array_map()
的一个特例,在文档中作为旁注提到:
Example #4 Creating an array of arrays
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>The above example will output:
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
)
)If the array argument contains string keys then the returned array will contain string keys if and only if exactly one array is passed. If more than one argument is passed then the returned array always has integer keys.
但仅此而已。没有更多的解释。我明白,这与
$d = array_map(function() { return func_get_args(); }, $a, $b, $c);
但为什么会有人希望或期望这是默认行为?它之所以这样工作,是否有技术原因,比如实现的副作用?或者这只是一个随机的“让这个函数再做一件事”的决定(看着你,array_multisort()
)?
最佳答案
这似乎是 _array_map_ 中的一个特例,但仅在该示例中有记录。 NULL 通常不允许作为回调(如果您尝试将它与 call_user_func()
一起使用,它会报告错误),但它在 _array_map()_ 中是允许的。它将 NULL
视为意味着它应该简单地创建一个参数数组。
这很有用,因为 array
作为回调也是无效的,因为它是语言构造,而不是函数。所以你不能写:
$d = array_map('array', $a, $b, $c);
关于php - 为什么以 null 作为回调的 array_map() 创建一个 "array of arrays"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31592503/
我是 Laravel 的新手。为什么我总是收到错误: array_map(): Argument #2 should be an array ? 而我在此方法上分配参数数组? 这是我的示例代码: $p
这三种方法之间的性能差异是什么(如果有的话),都用于将一个数组转换为另一个数组? 使用 foreach 将 array_map 与 lambda/closure 函数一起使用 将 array_map
我有一个看起来像这样的抽象类: abstract class Transformer { /** * Transform a collection of items *
我想将 array_map 与静态方法一起使用,但失败了。这是我的代码: Class Buy { public function payAllBills() { $bill_l
我有一个名为 createCost 的函数,在该函数内部,我有一个 array_map ,它接受一个数组和一个名为 checkDescription 的函数,该函数位于 createCost 中。下面
这是我的代码: $sc = 'hello 8491241 some text 6254841 some text 568241 414844:412'; preg_match_all('/[0-9]{
起初我有这个(在 wamp 中工作但不在我的网络服务器中) $ids = array_map(function($item) { return $item['user_id']; }, $data['
这是我的代码: $sc = 'hello 8491241 some text 6254841 some text 568241 414844:412'; preg_match_all('/[0-9]{
我有一个这样的数组: $a = array('aa', 'bb', 'cc', 'dd'); 我想在数组所有元素的开头添加“rq”字符串。是否可以通过在此数组上调用 array_map() 来实现?
以下代码正在抓取我的 apache 网络服务器。当我从 parse_service_rows() 中删除数据库查询时,apache 不会崩溃。 我还试图在没有帮助的情况下从查询中删除 WHERE 子句
这个问题在这里已经有了答案: Generate an associative array from an array of rows using one column as keys and ano
在下面的代码中,传递给 wrap_map 的回调函数在外部函数中看不到参数,为什么? (详见代码注释) public static function wrap_implode($ar, $wrap,
我正在尝试创建一个类来处理数组,但我似乎无法让 array_map() 在其中工作。 classarray = array_map($this->dash(), $data); } // dash f
我正在尝试找到在多维数组上使用 array_map('mysql_real_escape_string', $data); 的解决方案,如果 $data 是多维的,php 会返回错误。干杯 最佳答案
class theClass{ function doSomeWork($var){ return ($var + 2); }
我用 array_map here 测试了内联匿名函数 它有效,但是当我尝试使用 $user_meta 时它不起作用。 $user_meta = Array ( [interest] => Array
代码如下: /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上 * 1、语法:array array_map ( callback
在一个 PHP Web 项目中,classes 文件夹中有两个子文件夹,如下所示: 项目\类\应用程序 项目\类\实用程序 在实用程序子文件夹中有一个名为 Cleanse 的类。这是该类中部分代码的副
有时,为了兼容很多php框架上的activerecord,我们有一个数组,然后创建一个临时数组来适应它。 所以,如果我们不需要创建一个临时数组,那就更优雅了。我最喜欢的是array_map。如果这样的
使用规范的 PHPdoc 示例,此代码: 输出 数组 ( [0] => 27 [1] => 64 [2] => 125 ) 但我真正希望它输出的是这些内容:数组 (
我是一名优秀的程序员,十分优秀!