Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Foreach_Key - Fatal编程技术网

使用从另一个数组生成的动态键创建一个新的php数组

使用从另一个数组生成的动态键创建一个新的php数组,php,arrays,multidimensional-array,foreach,key,Php,Arrays,Multidimensional Array,Foreach,Key,我的问题是:我试图从表单创建一个数组,而不是稍后在会话中创建的数组: <?PHP $_SESSION['tablevalues'] = [ 'users' => $_POST['user'], 'bank-affiliated' => [ 'user' => $_POST['user'], 'bank' => $_SESSION['bank'] ] ]; $bankperuser = []; foreach

我的问题是:我试图从表单创建一个数组,而不是稍后在会话中创建的数组:

<?PHP

$_SESSION['tablevalues'] = [
    'users' => $_POST['user'],
    'bank-affiliated' => [
        'user' => $_POST['user'],
        'bank' => $_SESSION['bank']
    ]
];

$bankperuser = [];
foreach ($_SESSION['tablevalues']['bank-affiliated'] as $key => $value) {

    $bankperuser[$key] = [
        $key => $value
    ];
}
?>

<div class="data">
    <div>
        <h3>Bank per user</h3>
        User
        <?php foreach ($bankperuser as $key => $value) { ?>
            User: 
           <?php echo $value['user'];?>
           Banks:
           <?php echo $value['banks'];?>
       <?php } ?>
   </p>  
</div>
但到目前为止,我能得到的最接近的结果是:

array(1) {
  ["user"]=>
  array(2) {
    [0]=>
    string(6) "matteo"
    [1]=>
    string(5) "barco"
  }
}
string(4) "user"
array(1) {
  ["bank"]=>
  array(2) {
    [0]=>
    string(1) "6"
    [1]=>
    string(1) "8"
  }
}
string(4) "bank"
从我的角度来看,这是不可用的,因为如果我循环这个数组的结果,我不确定我是否能够对这个数组进行加边距,并创建我想要达到的结果,这在一天结束时是非常容易的,在以下方面:

用户:Marco-Banks:6

用户:Matteo-银行:8

包装在HTML中,随时可用。现在我肯定错过了一些东西,我打赌它相对容易发现,有人能给我一个提示吗

更新:

我能够做到这一点:

$bankperuser = array_combine($_SESSION['tablevalues']['bank-affiliated']["user"], $_SESSION['tablevalues']['bank-affiliated']["bank"]);
然后我在后面循环:

 <h3>Bank per user</h3>
 <p>Our banks and users:
    <?php foreach ($bankperuser as $key => $value) { ?>
        <p>User: <?php echo $key; ?></p>
        <p>Banks: <?php echo $value; ?></p>
    <?php } ?>
</p>
每个用户的银行
我们的银行和用户:
用户:

银行:


这将是理想的,除了它将删除重复项的事实。

现在还不太清楚您想在这里实现什么。你能展示一下
$\u POST['user']
$\u SESSION['bank']
的示例结构吗?@El_Vanja我添加更新是为了更好地展示我想要获得的东西,你怎么看?我的解决方案呢?我还不是100%清楚,因为我不知道你的数据结构,所以我只能猜测。解决方案也是如此,尽管我可以说它对我来说相当脆弱。看起来您依赖于数组与匹配数据完美地排序。
$bankperuser = array_combine($_SESSION['tablevalues']['bank-affiliated']["user"], $_SESSION['tablevalues']['bank-affiliated']["bank"]);
 <h3>Bank per user</h3>
 <p>Our banks and users:
    <?php foreach ($bankperuser as $key => $value) { ?>
        <p>User: <?php echo $key; ?></p>
        <p>Banks: <?php echo $value; ?></p>
    <?php } ?>
</p>