dousha2020 2011-10-29 17:19
浏览 7

比较PHP中的数组

I am trying to create dynamic table views. I have two arrays. I want to create a string if there is a match.

Here are the arrays:

1

(
    [0] => 20
    [optionid] => 20
)

2

Array
(
 [0] => Array
    (
        [1] => GROUP_CONCAT(if(optionid = 1, value_name, NULL)) AS 'Color'
    )

 [1] => Array
    (
        [22] => GROUP_CONCAT(if(optionid = 22, value_name, NULL)) AS 'Crystal Color'
    )

 [2] => Array
    (
        [25] => GROUP_CONCAT(if(optionid = 25, value_name, NULL)) AS 'Gauge'
    )

 [3] => Array
    (
        [35] => GROUP_CONCAT(if(optionid = 35, value_name, NULL)) AS 'Height'
    )

 [4] => Array
    (
        [18] => GROUP_CONCAT(if(optionid = 18, value_name, NULL)) AS 'Length'
    )

 [5] => Array
    (
        [33] => GROUP_CONCAT(if(optionid = 33, value_name, NULL)) AS 'Pieces in Pack'
    )

 [6] => Array
    (
        [26] => GROUP_CONCAT(if(optionid = 26, value_name, NULL)) AS 'Pincher Size'
    )

 [7] => Array
    (
        [24] => GROUP_CONCAT(if(optionid = 24, value_name, NULL)) AS 'Rack'
    )

 [8] => Array
    (
        [20] => GROUP_CONCAT(if(optionid = 20, value_name, NULL)) AS 'Ring Size'
    )

[9] => Array
    (
        [2] => GROUP_CONCAT(if(optionid = 2, value_name, NULL)) AS 'Size'
    )

[10] => Array
    (
        [34] => GROUP_CONCAT(if(optionid = 34, value_name, NULL)) AS 'Size in Pack'
    )

)

For example, value 20 on the first array matches key 20 on the second so I want the value added to a string. If they are more than two matches I want the string to be appended.

the end result should look like

$string = "GROUP_CONCAT(if(optionid = 20, value_name, NULL)) AS 'Ring Size'"

if more than one match.

$string = "GROUP_CONCAT(if(optionid = 20, value_name, NULL)) AS 'Ring Size', NEXT MATCHED VALUE"
  • 写回答

2条回答 默认 最新

  • dsaeyrq451928 2011-10-29 17:38
    关注

    Flatten the array out if you can, so instead of $array[0][20], its simply accessed by $array[20].

    Then you can just loop over the option id's you need, pull out the string and append it to a master sql string, along with appending a ', '. After the loop you can then just rtrim($string, ", ") to remove the final comma

    评论

报告相同问题?

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序