首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >set::extract cakephp

set::extract cakephp
EN

Stack Overflow用户
提问于 2013-02-25 23:24:21
回答 2查看 5.5K关注 0票数 0

我在这个结构中有一个数组:

代码语言:javascript
复制
Array (
[0] => Array
    (
        [cd_bibliotem] => Array
            (
                [codiceBiblio] => 119179
                [codiceTematica] => 3106
            )

    )

[1] => Array
    (
        [cd_bibliotem] => Array
            (
                [codiceBiblio] => 119178
                [codiceTematica] => 3106
            )

    ) [...]

我想要一个包含所有codiceBiblio值的数组,我已经尝试过了:

代码语言:javascript
复制
$t = Set::extract($t, '{n}.cd_bibliotem');

但我得到了:

代码语言:javascript
复制
Array (
[0] => Array
    (
        [codiceBiblio] => 119179
        [codiceTematica] => 3106
    ) [...]

只获取codiceBiblio值的正确语法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-25 23:45:34

代码语言:javascript
复制
$t2 = Set::classicExtract($t,'{n}.cd_bibliotem.codiceBiblio')

或者:

代码语言:javascript
复制
$t2 = array(null);

foreach($t as $thing)
{
    $t2[] = $thing['cd_bibliotem']['codiceBiblio'];
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-03 08:54:48

只有你的论点是错的

我想要一个包含所有codiceBiblio值的数组,我已经尝试过了:

$t = Set::extract($t,'{n}.cd_bibliotem');

问题中指定的数组路径指向数组-只需将路径更改为指向特定值,您将获得一个平面数组作为返回值:

代码语言:javascript
复制
$t = Set::extract($t, '{n}.cd_bibliotem.codiceBiblio');

它将返回:

代码语言:javascript
复制
array(
    119179,
    119178,
    ...
)

这与文档中Set::extractHash::extract的示例几乎相同(哈希替换了2.2中设置的哈希,尽管两者都是为了向后兼容而存在)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15070349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档