标签: array-column

在php中是否有一个类似array_column的函数用于多维数组

是否有类似于array_column多维数组的函数?是否有一个函数可以将下面的第一个数组转换为第二个数组:

Array
(
    [0] => Array
        (
            [foodType] => fruits
            [itemID] => 1
            [itemName] => apple
        )

    [1] => Array
        (
            [foodType] => fruits
            [itemID] => 2
            [itemName] => banana
        )

    [2] => Array
        (
            [foodType] => veggies
            [itemID] => 3
            [itemName] => carrot
        )

    [3] => Array
        (
            [foodType] => veggies
            [itemID] => 4
            [itemName] => broccoli
         )

)
Run Code Online (Sandbox Code Playgroud)

结果数组:

Array
(
    [fruits] => Array
        (
            [0] => Array
                (
                    [itemID] => 1
                    [itemName] => apple
                ) …
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array array-column

5
推荐指数
1
解决办法
1万
查看次数

查询Postgres数组列类型

TL;DR我想知道@> {as_champion, whatever}使用和使用之间的优缺点是什么(或者甚至是等效的)IN ('as_champion', 'whatever')。详情如下:

我正在使用Rails并使用Postgres的数组列类型,但是由于Rails finder方法不能很好地使用它,因此不得不对查询使用原始sql。我找到了一种可行的方法,但想知道首选的方法是:

roles该列Memberships表是我的数组列。它是通过rails这样添加的:

add_column :memberships, :roles, :text, array: true
Run Code Online (Sandbox Code Playgroud)

当我检查表格时,它显示的类型为:(text[]不确定那是否是Postgres真正表示数组列的方式,还是那是Rails shenanigans。

要查询它,我要做类似的事情:

Membership.where("roles @> ?", '{as_champion, whatever}')
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails ruby-on-rails-4 rails-activerecord array-column

2
推荐指数
1
解决办法
1531
查看次数

比较 Scala Spark 中的两个数组列

我有一个下面给出的格式的数据框。

movieId1 | genreList1              | genreList2
--------------------------------------------------
1        |[Adventure,Comedy]       |[Adventure]
2        |[Animation,Drama,War]    |[War,Drama]
3        |[Adventure,Drama]        |[Drama,War]
Run Code Online (Sandbox Code Playgroud)

并尝试创建另一个标志列,显示流派列表 2 是否是流派列表 1 的子集

movieId1 | genreList1              | genreList2        | Flag
---------------------------------------------------------------
1        |[Adventure,Comedy]       | [Adventure]       |1
2        |[Animation,Drama,War]    | [War,Drama]       |1
3        |[Adventure,Drama]        | [Drama,War]       |0
Run Code Online (Sandbox Code Playgroud)

我试过这个

def intersect_check(a: Array[String], b: Array[String]): Int = {
  if (b.sameElements(a.intersect(b))) { return 1 } 
  else { return 2 }
}

def intersect_check_udf =
  udf((colvalue1: Array[String], colvalue2: Array[String]) => intersect_check(colvalue1, colvalue2))

data = data.withColumn("Flag", intersect_check_udf(col("genreList1"), col("genreList2"))) …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark array-column

2
推荐指数
1
解决办法
7126
查看次数

部分展平多维阵列

什么是转换看起来像这样的数组的好方法:

Array (
    [0] = Array (
            [0] = Array (
                    [key] = val
                    [key2] = val2
                )

        )
    [1] = Array (
            [0] = Array (
                    [key] = val
                    [key2] = val2
                )

        )
)
Run Code Online (Sandbox Code Playgroud)

Array (
    [0] = Array (
            [key] = val
            [key] = val2
        )
    [1] = Array (
            [key] = val
            [key] = val2
        )
)
Run Code Online (Sandbox Code Playgroud)

php flatten multidimensional-array array-column

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

查找二维数组的列中不为零的最小值

我使用以下代码来回显数组中的最小值:

$array = [
    ['a' =>  0, 'f' => 0, 'l' => 61.60],
    ['a' => 38, 'f' => 0, 'l' => 11.99],
    ['a' => 28, 'f' => 0, 'l' =>  3.40],
];
$min = min(array_column($array, 'a'));
echo $min;
Run Code Online (Sandbox Code Playgroud)

现在我想0从结果中排除,我知道我可以使用它array_filter()来实现这一点,但是我需要处理数组两次吗?

php arrays filtering min array-column

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

如何在没有键和没有循环的情况下将数组键值转换为一个数组?

我有这个数组:

Array
(
    [0] => Array
        (
            [fName] => Alice
            [lName] => Gibson
        )

    [1] => Array
        (
            [fName] => Jack
            [lName] => Smith
        )

    [2] => Array
        (
            [fName] => Bruce
            [lName] => Lee
        )

)
Run Code Online (Sandbox Code Playgroud)

如何获取包含所有fName值的数组:

["Alice","Jack","Bruce"]
Run Code Online (Sandbox Code Playgroud)

我尝试和工作的是:

foreach($myArray as $info){
       $newArray[] = $info['fName'];      
}
Run Code Online (Sandbox Code Playgroud)

题:

是否可以使用单个函数而不是循环?

php multidimensional-array array-column

0
推荐指数
1
解决办法
137
查看次数