为什么有些数组值会被覆盖,而有些则不会呢?的PHP

PortyR

我有一个MySQL查询,该函数将转录器表中的数据与列出其认证的表中的数据相结合。一些转录员可能拥有多个认证。

我发现有些抄录员应该为自己拥有的每份证书提出一次。对于其他记录器,第一个数组值将被第二个数组值覆盖。在我看来,如果转录器具有两个证书,一个证书具有certId 1,一个证书具有certId 3,则三个证书将覆盖1。这对于certId为2、4、5、6或7(任意组合)不会发生除了1和3)。

这是我的代码:

public function getTranscribersAndTheirCertificationsList() {
    $Q = $this->read_db->query('SELECT t.*, tc.certId, tc.regNum, c.certName FROM transcriber t 
        JOIN transcribercertifications tc ON t.id = tc.tid 
        JOIN certifications c ON tc.certId = c.id');
    return $Q->result_array();
}

下面的代码接收从上面传入的数据并进行处理:

$list = $this->MTranscriber->getTranscribersAndTheirCertificationsList();
foreach ($list as $t) {
    $key = explode(' ', trim($t['name']));
    $key = preg_replace('/[()]/','', $key);
    $key = array_reverse($key);
    $key = implode(' ', $key) . $t['id'];
    $t['cet'] = $t['certName'] . ($t['regNum'] ? '-' . $t['regNum'] : '');
    if ($t['certId'] == 2 || $t['certId'] == 5) {
        $data['cetlist']['tta'][$key] = $t;
    } else {
        $data['cetlist']['cet'][$key] = $t;
    }
}
if (!empty($data['cetlist']['cet'])) {
    ksort($data['cetlist']['cet']);
}
if (!empty($data['cetlist']['tta'])) {
    ksort($data['cetlist']['tta']);
}

如果回显$ t,数据看起来不错。由于某些原因,当$ t被添加到else分支的每个数组中时,在certId = 1和certId = 3的情况下,第一个值被覆盖。我尝试使用array_push和array_merge,但未获得结果我也需要

编辑这是一些消毒的数据:

Array
(
[Doe John9] => Array
    (
        [id] => 9
        [name] => John Doe
        [email] => 
        [homephone] => 
        [cellphone] => 
        [address1] => 1 Main Street
        [address2] => 
        [city] => ABC
        [stateregion] => 
        [zipcode] => 99999
        [cet] => CET-485
        [certId] => 3
        [regNum] => 485
        [certName] => CET
    )
)

如果John Doe拥有另一份certId为1(CER)的证书,则上面的数据将覆盖它,而我只得到上面的数据。我应该为CER获得一份,为CET获得一份。

Ursol解决方案

用于将转录器保存到阵列的密钥与certId相同。因此,您将始终覆盖先前的条目。如果要添加转录器的多个版本,则应将certId添加到密钥中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么有些文本在WPF中会消失,而有些则不会

来自分类Dev

为什么某些内置javascript方法是静态的而有些则不是呢?

来自分类Dev

为什么有些库需要嵌入而有些则不需要?

来自分类Dev

为什么有些引用类型的变量可以绑定右值而有些不能呢?

来自分类Dev

为什么有些 Angular 模块会导入而有些却不会?

来自分类Dev

为什么/为什么有些类需要每个可能的参数,而有些则不需要?

来自分类Dev

为什么有些非root程序可以双击执行而有些则不能?

来自分类Dev

为什么有些C#api方法需要[HttpPost]而有些则不需要?

来自分类Dev

为什么有些原语有字节码,而有些则没有?

来自分类Dev

为什么有些电子邮件ID被接受而有些却没有PHP

来自分类Dev

为什么有些函数参数存储在堆栈上而有些存储在堆上?

来自分类Dev

为什么有些快照很快,而有些快照那么慢?

来自分类Dev

为什么有些行可以插入而有些行不能?

来自分类Dev

为什么有些终端从终端运行时使用“&”关闭了某些程序,而有些终端却没有呢?

来自分类Dev

为什么有些简短的条件语句在python中起作用而有些却没有呢?

来自分类Dev

为什么有些 JavaScript 函数需要创建一个新变量,而有些则不需要?

来自分类Dev

为什么有些算术指令有有符号/无符号变体,而有些则没有

来自分类Dev

为什么有些UWP项目有project.json而有些却没有?

来自分类Dev

为什么有些Java setter方法自动成为Kotlin属性,而有些却没有?

来自分类Dev

为什么有些对象没有在这个 .splice() 中被移除而有些是?

来自分类Dev

为什么有些类需要main方法,而另一些则不需要呢?

来自分类Dev

为什么列表结构中的某些功能需要“列表”前缀,而有些则不需要?

来自分类Dev

在 PyQT 中为什么有些小部件在调用它们之前需要“self”参数,而有些则不需要

来自分类Dev

为什么我的一些圈子消失了,而有些则没有?

来自分类Dev

为什么有些网站免费提供字体,而有些网站让您付费购买相同的字体?

来自分类Dev

为什么有些 URL 被“禁止”而有些不在我的 Web 应用程序中

来自分类Dev

为什么有些数组好像有键值对

来自分类Dev

试图制作简单的表格,但有些 PHP 不起作用,为什么不呢?

来自分类Dev

当我将file.FullName(我调试的不是null)放入字符串数组时,有些为null而有些则不是

Related 相关文章

  1. 1

    为什么有些文本在WPF中会消失,而有些则不会

  2. 2

    为什么某些内置javascript方法是静态的而有些则不是呢?

  3. 3

    为什么有些库需要嵌入而有些则不需要?

  4. 4

    为什么有些引用类型的变量可以绑定右值而有些不能呢?

  5. 5

    为什么有些 Angular 模块会导入而有些却不会?

  6. 6

    为什么/为什么有些类需要每个可能的参数,而有些则不需要?

  7. 7

    为什么有些非root程序可以双击执行而有些则不能?

  8. 8

    为什么有些C#api方法需要[HttpPost]而有些则不需要?

  9. 9

    为什么有些原语有字节码,而有些则没有?

  10. 10

    为什么有些电子邮件ID被接受而有些却没有PHP

  11. 11

    为什么有些函数参数存储在堆栈上而有些存储在堆上?

  12. 12

    为什么有些快照很快,而有些快照那么慢?

  13. 13

    为什么有些行可以插入而有些行不能?

  14. 14

    为什么有些终端从终端运行时使用“&”关闭了某些程序,而有些终端却没有呢?

  15. 15

    为什么有些简短的条件语句在python中起作用而有些却没有呢?

  16. 16

    为什么有些 JavaScript 函数需要创建一个新变量,而有些则不需要?

  17. 17

    为什么有些算术指令有有符号/无符号变体,而有些则没有

  18. 18

    为什么有些UWP项目有project.json而有些却没有?

  19. 19

    为什么有些Java setter方法自动成为Kotlin属性,而有些却没有?

  20. 20

    为什么有些对象没有在这个 .splice() 中被移除而有些是?

  21. 21

    为什么有些类需要main方法,而另一些则不需要呢?

  22. 22

    为什么列表结构中的某些功能需要“列表”前缀,而有些则不需要?

  23. 23

    在 PyQT 中为什么有些小部件在调用它们之前需要“self”参数,而有些则不需要

  24. 24

    为什么我的一些圈子消失了,而有些则没有?

  25. 25

    为什么有些网站免费提供字体,而有些网站让您付费购买相同的字体?

  26. 26

    为什么有些 URL 被“禁止”而有些不在我的 Web 应用程序中

  27. 27

    为什么有些数组好像有键值对

  28. 28

    试图制作简单的表格,但有些 PHP 不起作用,为什么不呢?

  29. 29

    当我将file.FullName(我调试的不是null)放入字符串数组时,有些为null而有些则不是

热门标签

归档