【问题标题】:php fill new array with $key valuesphp 用 $key 值填充新数组
【发布时间】:2017-07-04 09:03:22
【问题描述】:

我有一个包含很多不同 $keys 和 $values 的数组
我所做的是创建一个允许用户插入电子邮件地址的表单。
然后foreach 循环开始运行并将每个找到的电子邮件地址的值保存到新的array

这是该数组的结果:

<?php 
Array
(
    [0] => email@email.com
    [1] => 103646
    [2] => Company
    [3] => 1140
    [4] => email@email.com
    [5] => 103689
    [6] => Company
    [7] => 3400
)
?>

我希望每个$value 都有自己的$key

我真的不知道如何做到这一点。

这是我的数组制作脚本:

<?php
$saved = array();
$input = $_GET['emailaddress'];
foreach ($data as $files){
    $bedrijf = $files['Name'];
    $bill = $files['Bill'];
    $amount = $files['Amount'];
    $email = $files['email'];
    if ($email == $input){
        foreach($files as $values){
            $saved[] = $values;
        }

    }
}
echo'<pre>';
print_r($saved);
echo'</pre>';
?>

【问题讨论】:

  • 在某种意义上拥有自己的钥匙?可以举个例子吗?
  • 你的$data 怎么样?

标签: php arrays key


【解决方案1】:

这将提供所需的多维关联数组,而无需手动增加索引或声明一次性变量的代码膨胀:

foreach ($data as $files) {
    if ($files['email'] === $input) {
        $saved[] = [
            'Email' => $files['email'],
            'Amount' => $files['Amount'],
            'Bill' => $files['Bill'],
            'Name' => $files['Name']
        ];
    }
}

【讨论】:

    【解决方案2】:

    你可以通过一个 foreach 来做到这一点。无需增加代码的复杂度。

    $i = 0;
    foreach ($data as $files){
        $bedrijf = $files['Name'];
        $bill = $files['Bill'];
        $amount = $files['Amount'];
        $email = $files['email'];
        if ($email == $input){
                $saved[$i]['email'] = $email;
                $saved[$i]['Amount'] = $amount;
                $saved[$i]['bill '] = $bill;    
                $saved[$i]['Name'] = $bedrijf ;    
                $i++;
        }
    }
    

    【讨论】:

    • 我只是提供了一个可能也可行的解决方案如果你想要相同的键,那么你需要创建多维数组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多