微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP 中同时包含标量和向量的数组

如何解决PHP 中同时包含标量和向量的数组

我必须在 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);

share PHP code

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。