标签: array-map

php - 使用类中的公共函数回调的数组映射

class something{   
    public function add_val( $val ){
    $array = array();
    foreach( $val as $value ) {
        $array[] = static::$post[${$value}];
    }
    return $array;
    }
    pulblic function somethingelse(){
       .... 
       ....
       $optionsArray['value'] = array_map( 'add_val', array_chunk( $drop_val, count( $optionsArray['heading_x'] ) ) );
       ....
       ....
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用array_map()在另一个内调用add_val方法?

php methods class array-map

4
推荐指数
1
解决办法
6724
查看次数

从array_map匿名函数内部调用类方法

我试图从array_map匿名函数中调用我的对象的一个​​方法.到目前为止,我收到了预期的错误:

致命错误:在不在对象上下文中时使用$ this ...

我知道为什么我会收到这个错误,我只是不知道如何实现我想要的...有人有任何建议吗?

这是我目前的代码:

// Loop through the data and ensure the numbers are formatted correctly
array_map(function($value){
    return $this->some_method($value,'value',false);
},$this->mssql->data[0]['results'][0]);
Run Code Online (Sandbox Code Playgroud)

php scope class object array-map

4
推荐指数
1
解决办法
2539
查看次数

设置array_map php的范围

嘿所有,我不时使用array_map来编写递归方法.例如

function stripSlashesRecursive( $value ){

    $value = is_array($value) ?
        array_map( 'stripSlashesRecursive', $value) :
    stripslashes( $value );
    return $value;
}
Run Code Online (Sandbox Code Playgroud)

题:

说我想把这个函数放在一个静态类中,我如何使用array_map回到类中静态方法的范围,如Sanitize :: stripSlashesRecursive(); 我确定这很简单,但我不能把它想象出来,看看php.net也是如此.

php arrays recursion array-map

3
推荐指数
1
解决办法
2666
查看次数

empty()不是有效的回调?

我想在php中使用数组映射中的empty().我收到的错误是它不是一个有效的回调.

$ cat test.php
<?

$arrays = array(
   'arrEmpty' => array(
        '','',''
    ),
);

foreach ( $arrays as $key => $array ) {

        echo $key . "\n";
        echo array_reduce( $array, "empty" );
        var_dump( array_map("empty", $array) );
        echo "\n\n";

}
Run Code Online (Sandbox Code Playgroud)
$ php test.php
arrEmpty

Warning: array_reduce(): The second argument, 'empty', should be a valid callback in /var/www/authentication_class/test.php on line 12

Warning: array_map(): The first argument, 'empty', should be either NULL or a valid callback in /var/www/authentication_class/test.php on line 13
NULL
Run Code Online (Sandbox Code Playgroud)

这不应该工作吗? …

php callback array-map

3
推荐指数
2
解决办法
2247
查看次数

array_map 2d数组到1d关联数组

我有一个2d数组(从PDO MySQL DB返回)的形式

{
  [0] => {
    "ID" => 1,
    "Name" => "Name1"
  },
  [1] => {
    "ID" => 2,
    "Name" => "Name2"
  },
 [2] => {
    "ID" => 3,
    "Name" => "Name3"
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有一个优雅/有效的解决方案来转换它

{
  [1] => "Name1",
  [2] => "Name2",
  [3] => "Name3"
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以循环并以这种方式创建数组,但我觉得这可能没有像花哨的array_map那样有效.

基本上我想要像......

array_map(
  function ($value) { 
    return $value['ID']=>$value['Name']; 
  }, $ResultArray);
Run Code Online (Sandbox Code Playgroud)

php arrays lambda array-map

3
推荐指数
1
解决办法
935
查看次数

数组映射使用变量来标识要返回的列

我试图动态使用数组映射,数组中的列可能会更改,所以我不想使用字符串指定它但想要使用变量来指定它,它不起作用.尝试以下所有组合,它返回null.

$column = 'MANAGER_GROUP';
array_map(function($el){ return $el['"'.$column.'"']; }, $dbData);
array_map(function($el){ return $el["$column"]; }, $dbData);
array_map(function($el){ return $el[$column]; }, $dbData);

//this works though
array_map(function($el){ return $el["MANGER_GROUP"]; }, $dbData);
Run Code Online (Sandbox Code Playgroud)

php array-map

3
推荐指数
1
解决办法
356
查看次数

PDO - array_map 返回键中的对象 ID

嘿,我有带有返回键的数组

$temp = $sth->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

我的结果如下所示:

[0] => [
    'id' = 11,
    'title' => 't1'
]

[1] => [
    'id' = 12,
    'title' => 't2'
]
Run Code Online (Sandbox Code Playgroud)

如果我想返回 ids 作为密钥,我会这样调用:

$temp = array_map(function($v){return $v[0];}, $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC));
Run Code Online (Sandbox Code Playgroud)

我的结果如下所示:

[11] => [
    'title' => 't1'
]

[12] => [
    'title' => 't2'
]
Run Code Online (Sandbox Code Playgroud)

如何通过ID返回对象数组?当我这样做时,我的对象中没有方法......

$temp = array_map(function($v){return $v[0];}, $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_CLASS));
Run Code Online (Sandbox Code Playgroud)

php pdo array-map

3
推荐指数
1
解决办法
2469
查看次数

为什么 Carbon addMinutes 的加法效果不好

在 Laravel 环境中,我有一组时间,我添加了几分钟,但它没有给我我所期望的结果。

在下面的array_map函数中发生了一些奇怪的addMinutes事情

$d = array_map(function ($date) {
    $base = Carbon::parse($date['time']);
    return [
        'start' => $base->addMinutes(150)->toDateTimeString(),
        'end' => $base->addMinutes(190)->toDateTimeString()
    ]
}, $dates);
Run Code Online (Sandbox Code Playgroud)

所以 150 分钟是 2 小时 30 分钟,190 分钟是 3 小时 10 分钟,所以我假设以下

2018-07-05 19.20.00 (+150 mins) -> start = 2018-07-05 21.50
                    (+190 mins) -> end   = 2018-07-05 22.30
Run Code Online (Sandbox Code Playgroud)

我实际上得到了

2018-07-05 19.20.00 (+150 mins) -> start = 2018-07-05 21.30
                    (+190 mins) -> end   = 2018-07-06 00.40
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到我在碳处理过程中遗漏的明显内容吗?我很确定这与 Carbon 有关,因为我将上面的内容重组array_map为 aforeach并得到了相同的结果 …

php arrays array-map php-carbon

3
推荐指数
1
解决办法
4481
查看次数

Javascript使用map()和Iterator将对象数组分成多个数组

  1. 基本上我有一系列对象,例如

    var array = [{x: 10, y: 5, r: 10, ...} ]

对象中还有更多字段,但至此,这是我发现的将字段分隔为数组的方法:

var x = array.map(obj => obj.x);
var y = array.map(obj => obj.y);
// and so on for each field
Run Code Online (Sandbox Code Playgroud)

可行,但随着字段数和数组大小的增加,效率会很低,因为它会多次扫描数组。我可以使用标准循环,但是我更喜欢map(),因为我认为这种情况下可读性更高。是否可以从地图返回多个值?我认为是这样的:

var [x, y] = array.map(obj => [obj.x, obj.y]); // should output two arrays
Run Code Online (Sandbox Code Playgroud)

或任何类似的可读性(减少IMO可读性)。

  1. 我确实注意到一些较新的javascript函数,例如array.entries()返回迭代器对象的函数。如何实现这些功能?

javascript arrays array-map

3
推荐指数
2
解决办法
844
查看次数

如何在Scrollview而不是Flatlist中每行显示两列?反应本机

我需要显示一个数组,并且由于方向问题,我需要使用 array.map 而不是 Flatlist 来渲染它。

在 Flatlist 中,我可以轻松地使用它,numColumns = {2}但我确实需要使用 array.map 而不是 Flatlist 来做到这一点,我可以渲染数组以仅显示一列,这就是我的制作方法:

import React from 'react';
import {View, Text, StyleSheet} from 'react-native';
import {ScrollView} from 'react-native-gesture-handler';

const data = [
  {
    id: 1,
    name: 'Ronaldo',
  },
  {
    id: 2,
    name: 'Ronaldo',
  },
  {
    id: 3,
    name: 'Ronaldo',
  },
  {
    id: 4,
    name: 'Ronaldo',
  },
  {
    id: 5,
    name: 'Ronaldo',
  },
];

const Card = ({id, name}: any) => {
  return (
    <View style={styles.card}>
      <Text>{id}</Text>
      <Text>{name}</Text>
    </View> …
Run Code Online (Sandbox Code Playgroud)

arrays scrollview array-map react-native react-native-flatlist

3
推荐指数
1
解决办法
3074
查看次数