Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组中查找特定值_Php_Arrays_Multidimensional Array_Cakephp 3.0 - Fatal编程技术网

Php 在数组中查找特定值

Php 在数组中查找特定值,php,arrays,multidimensional-array,cakephp-3.0,Php,Arrays,Multidimensional Array,Cakephp 3.0,我有一个数组,我想在其中进行搜索,找出中的一个特定id是否回答了数组,以及它是否将其所有值传递给另一个数组并将其从主数组中删除。我尝试了一系列循环,但它们只会使我的程序运行得更慢。 我还尝试: $key = array_search('2', array_column($myarray, 'id')); 但后来什么也没有归还。我还尝试了CakePHP3中的collection类,但这对我没有帮助。 所以我把我的阵列放在这里,希望有人能帮我得到这个。我应该提到,我使用的是蛋糕PHP3 \src\

我有一个数组,我想在其中进行搜索,找出中的一个特定id是否回答了数组,以及它是否将其所有值传递给另一个数组并将其从主数组中删除。我尝试了一系列循环,但它们只会使我的程序运行得更慢。 我还尝试:

$key = array_search('2', array_column($myarray, 'id'));
但后来什么也没有归还。我还尝试了CakePHP3中的collection类,但这对我没有帮助。 所以我把我的阵列放在这里,希望有人能帮我得到这个。我应该提到,我使用的是蛋糕PHP3

\src\Template\Comlibs\get_Result.ctp (line 10)
[
(int) 0 => object(App\Model\Entity\Comlib) {

    'id' => (int) 1,
    'question' => 'how to kill someone?',
    'answer' => (int) 2,
    'asked' => (int) 90,
    'tags' => 'kill,professional killer',
    'created' => null,
    'modified' => null,
    'answers' => [
        (int) 0 => object(App\Model\Entity\Answer) {

            'id' => (int) 2,
            'question_id' => (int) 1,
            'answer' => 'worst behaviour',
            'rate' => (float) 5,
            'view' => (int) 29,
            'helpful' => '33',
            '[new]' => false,
            '[accessible]' => [
                '*' => true
            ],
            '[dirty]' => [],
            '[original]' => [],
            '[virtual]' => [],
            '[errors]' => [],
            '[invalid]' => [],
            '[repository]' => 'Answers'

        },
        (int) 1 => object(App\Model\Entity\Answer) {

            'id' => (int) 3,
            'question_id' => (int) 1,
            'answer' => 'He never luv us',
            'rate' => (float) 8,
            'view' => (int) 60,
            'helpful' => '22',
            '[new]' => false,
            '[accessible]' => [
                '*' => true
            ],
            '[dirty]' => [],
            '[original]' => [],
            '[virtual]' => [],
            '[errors]' => [],
            '[invalid]' => [],
            '[repository]' => 'Answers'

        },
        (int) 2 => object(App\Model\Entity\Answer) {

            'id' => (int) 4,
            'question_id' => (int) 1,
            'answer' => 'that bitch aint a part of me',
            'rate' => (float) 4,
            'view' => (int) 76,
            'helpful' => '75',
            '[new]' => false,
            '[accessible]' => [
                '*' => true
            ],
            '[dirty]' => [],
            '[original]' => [],
            '[virtual]' => [],
            '[errors]' => [],
            '[invalid]' => [],
            '[repository]' => 'Answers'

        },
        (int) 3 => object(App\Model\Entity\Answer) {

            'id' => (int) 5,
            'question_id' => (int) 1,
            'answer' => 'she was so friendly',
            'rate' => (float) 2.5,
            'view' => (int) 21,
            'helpful' => '10',
            '[new]' => false,
            '[accessible]' => [
                '*' => true
            ],
            '[dirty]' => [],
            '[original]' => [],
            '[virtual]' => [],
            '[errors]' => [],
            '[invalid]' => [],
            '[repository]' => 'Answers'

        },
        (int) 4 => object(App\Model\Entity\Answer) {

            'id' => (int) 6,
            'question_id' => (int) 1,
            'answer' => 'the old movie',
            'rate' => (float) 3.2,
            'view' => (int) 11,
            'helpful' => '11',
            '[new]' => false,
            '[accessible]' => [
                '*' => true
            ],
            '[dirty]' => [],
            '[original]' => [],
            '[virtual]' => [],
            '[errors]' => [],
            '[invalid]' => [],
            '[repository]' => 'Answers'

        }
    ],
    '[new]' => false,
    '[accessible]' => [
        '*' => true
    ],
    '[dirty]' => [],
    '[original]' => [],
    '[virtual]' => [],
    '[errors]' => [],
    '[invalid]' => [],
    '[repository]' => 'Comlibs'

}
]

tnx在advanced中

您可以使用Cakephp的集合,您必须使用集合的匹配方法

use Cake\Collection\Collection;
$collection = new Collection($data['answers']);
$answer = $collection->match(['answers.id' => 2]);

当我使用$data['answers']时,它说:只允许收集一个数组或\Traversable,但当我只使用$data时,没有错误,我为$Collection做了每一个,我得到的是一个数组,没有我的第二个数组ID=2,现在我如何使用这个新的集合($answer),因为当我使用每个数组时,它是空的,并且是toArray()显示一个空数组