问题描述
我必须在 PHP 中创建以下“结构”的数组:
user_id,array(item_id,flag,array(Feedback_message_id))
基本上,对于每个 user_id
,都有一个 (item_id,flag 数组,以及一个 Feedback_messages 数组)..
在“classes”表中,我有一个名为“users”的字段,用于保存带有分隔符的数据。数据示例如下: |1-5-1-1~2~5|2-3-4-5~6~7|.......
我需要将数据放入一个数组中,如下所示:
$myArray[0][0]="1"; // the first user's user_id = 0
$myArray[0][1][0]="5"; // the first user's first item's id = 5
$myArray[0][1][1]="1"; // the first user's first item's flag = 0
$myArray[0][1][2][0]="1"; // the first user's first item's first Feedback message's id = 1
$myArray[0][1][2][1]="2"; // the first user's first item's second Feedback message's id = 2
$myArray[0][1][2][2]="5"; // the first user's first item's third Feedback message's id = 3
我不知道如何创建这样的数组以及如何从中检索数据(语法方面)...我使用过一维数组和多维数组,但这是一个部分二维的数组,部分三维和四维...这甚至可能吗?
解决方法
我想通了!!
事情是在输入值时创建数组,而不是事先创建一个空结构:
$myArray=array(array("user1",array("item2","YES",array("f1","f2","f3")));
然后,我可以回忆一下,例如“f2”和 $myArray[0][1][2][1];
所以我将使用 PHP 编写一个函数来从我的“类”表的“用户”字段中读取带有分隔符的数据,并将其插入到这个数组中。
感谢 AbraCadaver 在我从数据库读取时给我创建数组的提示!!!只是现在,1 小时后,它为我点击了 :)
一切顺利!! 卵
,在您的情况下,数组 $a 代表单个用户,因此获取如下数据:
$a=array( "user1",array( "item2","DA",array ( "f1","f3" ) ) );
$user = $a[1][2][1]; //f2
通常情况下应该是用户数组:
<?php
$a = array( "user1","f3" ) ) );
var_export($a[1][2][1]);
$users = [
["user1",["item2",[ "f1","f3" ] ] ]
];
echo PHP_EOL . PHP_EOL ."user" . PHP_EOL;
$user = $users[0];
var_export($user);
echo PHP_EOL . PHP_EOL ."user item" . PHP_EOL . PHP_EOL;
$user_item = $users[0][1][0];
var_export($user_item);
echo PHP_EOL . PHP_EOL ."user flag" . PHP_EOL . PHP_EOL;
$user_flag = $users[0][1][1];
var_export($user_flag);
echo PHP_EOL . PHP_EOL ."user feedbacks" . PHP_EOL . PHP_EOL;
$user_flag = $users[0][1][2];
var_export($user_flag);
echo PHP_EOL . PHP_EOL ."user second feedbacks" . PHP_EOL . PHP_EOL;
$user_flag = $users[0][1][2][1];
var_export($user_flag);