我有一个像这样的数组:
array(
'name' => 'array1',
'content' => array(
'name' => 'array2',
'content' => array(
'name' => 'array3',
'content' => array(...)
)
)
)
我想在第三个数组中插入数据但不想输入这个长度:
$array['content']['content']['content']... = 'something';
因为我在不同的foreach
内使用它会变得很长。
我尝试将数组分配给变量,如:
$array['content']['content']['content'] = array();
$content3 = $array['content']['content']['content'];
然后:
$content3['content4'] = 'something';
但是没有存储内容4',对此有任何解决方案吗?
答案 0 :(得分:3)
使用& 将content3引用到$ array ['content'] ['content'] ['content']:
use yii\db\Expression;
$messages = Messages::find()
->where([
'file_downloaded' => 1,
])
->andWhere(['=', 'msg_sent', 0])
->andWhere(['=', 'file_size', new Expression('`downloaded_size`')])
->andWhere(['=', 'file_sha1', new Expression('`downloaded_sha1`')])
->asArray()
->all();
// to debug raw SQL I have used the following:
$query = = Messages::find()
->where([
'file_downloaded' => 1,
])
->andWhere(['=', 'msg_sent', 0])
->andWhere(['=', 'file_size', new Expression('`downloaded_size`')])
->andWhere(['=', 'file_sha1', new Expression('`downloaded_sha1`')]);
echo var_dump($query->prepare(Yii::$app->db->queryBuilder)->createCommand()->rawSql) . PHP_EOL;