从多维数组返回值

莱里奥·费埃塔

假设我有这个数组(真正的数组确实更大):

Array
(
    [CD000000001] => Array
        (
            [0] => Array
                (
                    [periodo] => 10/2010
                    [incasso] => 15000.00
                    [spesa] => 0.00
                )

            [1] => Array
                (
                    [periodo] => 03/2013
                    [incasso] => 0.00
                    [spesa] => 280.00
                )

        )

    [CD000000002] => Array
        (
            [0] => Array
                (
                    [periodo] => 11/2010
                    [incasso] => 327199.83
                    [spesa] => 0.00
                )

            [1] => Array
                (
                    [periodo] => 03/2013
                    [incasso] => 0.00
                    [spesa] => 3194.90
                )

        )
)

我试图获得与数组的第一层和第二层的[periodo]相匹配的[incasso]和[spesa]的值。因此,例如,我寻找CD000000002,如果找到它,则寻找03/2013。如果找到它,我想返回[incasso]和[spesa]值。CD000000002和[periodo]都是从for循环构建的,因此我将测试现有值和不存在值。实际上,在我看来,我无法正确访问第二个数组,而且我也不明白为什么。这是我的实际代码:(示例中的$ credito是CD000000002):

    if(isset($flussi[$credito])){
    //if I find CD000000002
        $key = array_search($periodo,$flussi[$credito]);
    //return the key of the second level array that have the value 03/2013
        if($key){
           $incasso = $flussi[$credito][$key]['incasso'];
        }else{
           $incasso = 0.00;
    //return the value of [incasso] corresponding to that key
    }else{
        $incasso = '0.00';
    }
    unset($key);

我究竟做错了什么???我不想使用foreach循环,但我想搜索正确寻址数组索引的确切值。重复问题中提到的功能对我来说是众所周知的,但在这种情况下不适用于性能。数组大小太大,因此至少每次运行脚本时都不能进行foreach 5.000次

肖恩

为了$key = array_search($periodo,$flussi[$credito]);找到的值periodo,您需要使用数字键更改数组

Array
(
    [CD000000001] => Array
        (
            [0] => Array
                (
                    [periodo] => 10/2010
                    [incasso] => 15000.00
                    [spesa] => 0.00
                )

            [1] => Array
                (
                    [periodo] => 03/2013
                    [incasso] => 0.00
                    [spesa] => 280.00
                )

        )
...

periodo值是键的数组

Array
(
    [CD000000001] => Array
        (
            [10/2010] => Array
                (
                    [periodo] => 10/2010
                    [incasso] => 15000.00
                    [spesa] => 0.00
                )

            [03/2013] => Array
                (
                    [periodo] => 03/2013
                    [incasso] => 0.00
                    [spesa] => 280.00
                )

        )
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RSpec多维数组的模拟返回值

来自分类Dev

通过在多维数组内搜索标题来返回值

来自分类Dev

Powershell:多维数组更改“ system.object []”的返回值

来自分类Dev

如何从列表视图(VBA)中的多维数组返回值

来自分类Dev

多维数组中某个键的返回值

来自分类Dev

使用键名搜索多维数组并返回值作为结果

来自分类Dev

如何在多维数组中的布尔值之后返回值?

来自分类Dev

从方法的返回值返回数组的索引

来自分类Dev

根据数组从对象返回值数组

来自分类Dev

返回值数组数组的属性 Javascript

来自分类Dev

多维数组未返回正确的值

来自分类Dev

从多维数组 (ndarray) 返回最大值

来自分类Dev

PHP中按键返回多维数组的值

来自分类Dev

从PHP数组中的ID返回值

来自分类Dev

根据条件返回值数组

来自分类Dev

从JavaScript中的数组返回值

来自分类Dev

RxJS从mergeMap返回值的数组

来自分类Dev

从PHP中的数组返回值

来自分类Dev

mongodb findone返回值-数组操作

来自分类Dev

std :: bitset的数组作为返回值

来自分类Dev

返回值数组的Javascript函数

来自分类Dev

从VBA中的数组返回值

来自分类Dev

数组索引不返回值

来自分类Dev

如何从 Jquery 插件返回值数组

来自分类Dev

基于数组 indeces 的总和返回值

来自分类Dev

如何从与数组匹配的对象返回值?

来自分类Dev

从集合返回值作为数组

来自分类Dev

从数组返回值并按频率返回事件

来自分类Dev

根据其他数组元素返回多维数组值