如果在整个数组PHP中找到元素,如何获取完整的数组块

用户名
array (
  '125100 - 33166' => 
  array (
    'ReferenceNumber' => '125100',
    'ShipDate' => '9/12/2016',
    'ShipToName' => 'APOLLO EXPORT WAREHOUSE',
    'ShipToCompany' => 'c/o Dry Non Bonded Consolidator',
    'ShipToAddress1' => '6950 N.W. 77th Court',
    'ShipToAddress2' => 'Attn: Alejandro Garcia 305-592-8790 x80',
    'ShipToCity' => 'Miami',
    'ShipToState' => 'FL',
    'ShipToZip' => '33166',
    'ShipToContact' => '',
    'ShipCarrier' => 'UPS',
    'PurchaseOrderNumber' => '10020822001',
    'Data' => 
    array (
      0 => 
      array (
        0 => 'HBX43C',
        1 => 'HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75”x14.75”x Front 2”hx Back 3”h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431',
        2 => '12',
        3 => '',
      ),
    ),
  ),
  '125101 - 33166' => 
  array (
    'ReferenceNumber' => '125101',
    'ShipDate' => '9/12/2016',
    'ShipToName' => 'APOLLO EXPORT WAREHOUSE',
    'ShipToCompany' => 'c/o Dry Non Bonded Consolidator',
    'ShipToAddress1' => '6950 N.W. 77th Court',
    'ShipToAddress2' => 'Attn: Alejandro Garcia 305-592-8790 x80',
    'ShipToCity' => 'Miami',
    'ShipToState' => 'FL',
    'ShipToZip' => '33166',
    'ShipToContact' => '',
    'ShipCarrier' => 'UPS',
    'PurchaseOrderNumber' => '10020823001',
    'Data' => 
    array (
      0 => 
      array (
        0 => 'HBX43C',
        1 => 'HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75”x14.75”x Front 2”hx Back 3”h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431',
        2 => '18',
        3 => '',
      ),
    ),
  ),
  '125102 - 33166' => 
  array (
    'ReferenceNumber' => '125102',
    'ShipDate' => '9/12/2016',
    'ShipToName' => 'APOLLO EXPORT WAREHOUSE',
    'ShipToCompany' => 'c/o Dry Non Bonded Consolidator',
    'ShipToAddress1' => '6950 N.W. 77th Court',
    'ShipToAddress2' => 'Attn: Alejandro Garcia 305-592-8790 x80',
    'ShipToCity' => 'Miami',
    'ShipToState' => 'FL',
    'ShipToZip' => '33166',
    'ShipToContact' => '',
    'ShipCarrier' => 'UPS',
    'PurchaseOrderNumber' => '1.30E+11',
    'Data' => 
    array (
      0 => 
      array (
        0 => 'HBX43C',
        1 => 'HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75”x14.75”x Front 2”hx Back 3”h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431',
        2 => '6',
        3 => '',
      ),
    ),
  ),
  '11WW111 - 81623' => 
  array (
    'ReferenceNumber' => '11WW111',
    'ShipDate' => '9/12/2016',
    'ShipToName' => 'test',
    'ShipToCompany' => 'test',
    'ShipToAddress1' => 'test',
    'ShipToAddress2' => 'test',
    'ShipToCity' => 'test',
    'ShipToState' => 'CO',
    'ShipToZip' => '81623',
    'ShipToContact' => '',
    'ShipCarrier' => 'TKN',
    'PurchaseOrderNumber' => 'test',
    'Data' => 
    array (
      0 => 
      array (
        0 => '1STTTTS4',
        1 => 'test',
        2 => '11',
        3 => '',
      ),
    ),
  ),
  '125103 - 81623' => 
  array (
    'ReferenceNumber' => '125103',
    'ShipDate' => '9/12/2016',
    'ShipToName' => 'Old Towne Moving & Storage',
    'ShipToCompany' => '',
    'ShipToAddress1' => '62 CR 113 Bldg H',
    'ShipToAddress2' => 'Attn: Cody Pace 970-384-4444',
    'ShipToCity' => 'Carbondale',
    'ShipToState' => 'CO',
    'ShipToZip' => '81623',
    'ShipToContact' => '',
    'ShipCarrier' => 'TKN',
    'PurchaseOrderNumber' => 'LIMO-053',
    'Data' => 
    array (
      0 => 
      array (
        0 => '39906B-LIME',
        1 => '39906B-LIME - Matte Nickel Ice Tongs
*** Length: 6" ***
Casepack: 48',
        2 => '144',
        3 => '',
      ),
    ),
  ),
)

我如何HBX43C从整个数组中查找以及在找到该元素之后如何获取在其中HBX43C找到的该数组的整个块

因此,如果HBX43C发现我需要具备:

Array
        (
            [ReferenceNumber] => 125102
            [ShipDate] => 9/12/2016
            [ShipToName] => APOLLO EXPORT WAREHOUSE
            [ShipToCompany] => c/o Dry Non Bonded Consolidator
            [ShipToAddress1] => 6950 N.W. 77th Court
            [ShipToAddress2] => Attn: Alejandro Garcia 305-592-8790 x80
            [ShipToCity] => Miami
            [ShipToState] => FL
            [ShipToZip] => 33166
            [ShipToContact] => 
            [ShipCarrier] => UPS
            [PurchaseOrderNumber] => 1.30E+11
            [Data] => Array
                (
                    [0] => Array
                        (
                            [0] => HBX43C
                            [1] => HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75”x14.75”x Front 2”hx Back 3”h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431
                            [2] => 6
                            [3] => 
                        )

                )

        )

作为HBX43C包含在该阵列块。

我正在尝试的代码是:

$url = "https://www/www/contracts.asmx?wsdl";

        $soap_do = curl_init();
        curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($soap_do, CURLOPT_URL, $url);
        curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($soap_do, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
        curl_setopt($soap_do, CURLOPT_TIMEOUT, 10);
        curl_setopt($soap_do, CURLOPT_POST, true);
        curl_setopt($soap_do, CURLOPT_POSTFIELDS, $soap_request);
        curl_setopt($soap_do, CURLOPT_HTTPHEADER, array(
                "Content-type: text/xml;charset=\"utf-8\"",
                "Accept: text/xml",
                "Cache-Control: no-cache",
                "Pragma: no-cache",
                "SOAPAction: \"http://www.www.com/www/www.WMS/wwww\""
            )
        );

        $response = curl_exec($soap_do);

        if (strpos($response, 'Server was unable to process request') !== false) {

            $full_response = explode(': ', $response, 2);
            if (strpos($response, 'The following sku is not in the item list') !== false) {
                $body .= $response;
                foreach ($result as $item) {
                    foreach ($item['Data'] as $sub_item) {
                        if (in_array(trim($full_response[1]), $sub_item)) {
                            $body .= "SKU Number: " . $full_response[1];
                            print_r($sub_item);
                            break 2;
                        }
                    }
                }
            }

            $body .= "<br /><br />";
            $body .= "Used File: " . $files[2];
            $body .= "<br /><br />";
            echo $body;
            echo "<br /><br />";
        } else {
            $body .= "Operation completed without any errors";
            $body .= "<br /><br />";
            $body .= "Used File: " . $files[2];
            $body .= "<br /><br />";
            echo $body;
            echo "<br /><br />";
        }
    }

它似乎无法正常工作,因为它无法将全部障碍归还给我。

$full_response[1] 是 : HBX43C

$result整个数组在哪里

瑞安·文森特(Ryan Vincent)

必需的:

返回父数组条目,其中:

  • “数据”属性是一个“嵌套”数组-包含必需的值($ needle)。

如何:

  • 对于每个条目:在“数据”数组中搜索与提供的$ needle匹配的值。
  • 将需要递归搜索“数据”数组。

评估时的示范

注意:该代码使用变量来存储中间结果,以使其易于遵循。

代码:

o搜索源列表中的所有条目

/**
* Search all the entries trying to find the needle in the 'nested' Data array
* 
* @param array  $srcArray
* @param string $needle
* 
* @return array 
*/
function searchHaystacks($srcArray, $needle)
{
    $allMatches = array();

    foreach ($srcArray as $key => $haystack) {
        if (searchDataArray($haystack['Data'], $needle)) {
            $allMatches[$key] = $haystack;
        }
    }

    return $allMatches;    
}

o“数据数组”搜索功能:

 /**
 * Give a Data array check if a given value is anywhere in it
 * this is recursive.
 * 
 * @param  array  $dataArray  - Array to recursively search 
 * @param  string $needle     - value to match
 * @return boolean            - true if needle found in any of the nested arrays
 */
function searchDataArray($dataArray, $needle)
{
    $matched = in_array($needle, $dataArray);
    if ($matched) {
        return true;
    }

    // any nested arrays?
    foreach ($dataArray as $haystack) {
        if (is_array($haystack)) { // another array to check
            $matched = searchDataArray($haystack, $needle);
            if ($matched) {
                return true;
            }
        }
    }
    return false; // no array contains the needle
}

运行搜索:

$needle = 'HBX43C'; 
$allNeedles = searchHaystacks($srcArray, $needle); 

给定测试数据的输出:

Matched Needles...
Array
(
    [125100 - 33166] => Array
        (
            [ReferenceNumber] => 125100
            [ShipDate] => 9/12/2016
            [ShipToName] => APOLLO EXPORT WAREHOUSE
            [ShipToCompany] => c/o Dry Non Bonded Consolidator
            [ShipToAddress1] => 6950 N.W. 77th Court
            [ShipToAddress2] => Attn: Alejandro Garcia 305-592-8790 x80
            [ShipToCity] => Miami
            [ShipToState] => FL
            [ShipToZip] => 33166
            [ShipToContact] => 
            [ShipCarrier] => UPS
            [PurchaseOrderNumber] => 10020822001
            [Data] => Array
                (
                    [0] => Array
                        (
                            [0] => HBX43C
                            [1] => HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75â€x14.75â€x Front 2â€hx Back 3â€h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431
                            [2] => 12
                            [3] => 
                        )
                )
        )

    [125101 - 33166] => Array
        (
            [ReferenceNumber] => 125101
            [ShipDate] => 9/12/2016
            [ShipToName] => APOLLO EXPORT WAREHOUSE
            [ShipToCompany] => c/o Dry Non Bonded Consolidator
            [ShipToAddress1] => 6950 N.W. 77th Court
            [ShipToAddress2] => Attn: Alejandro Garcia 305-592-8790 x80
            [ShipToCity] => Miami
            [ShipToState] => FL
            [ShipToZip] => 33166
            [ShipToContact] => 
            [ShipCarrier] => UPS
            [PurchaseOrderNumber] => 10020823001
            [Data] => Array
                (
                    [0] => Array
                        (
                            [0] => HBX43C
                            [1] => HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75â€x14.75â€x Front 2â€hx Back 3â€h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431
                            [2] => 18
                            [3] => 
                        )
                ) 
        )

    [125102 - 33166] => Array
        (
            [ReferenceNumber] => 125102
            [ShipDate] => 9/12/2016
            [ShipToName] => APOLLO EXPORT WAREHOUSE
            [ShipToCompany] => c/o Dry Non Bonded Consolidator
            [ShipToAddress1] => 6950 N.W. 77th Court
            [ShipToAddress2] => Attn: Alejandro Garcia 305-592-8790 x80
            [ShipToCity] => Miami
            [ShipToState] => FL
            [ShipToZip] => 33166
            [ShipToContact] => 
            [ShipCarrier] => UPS
            [PurchaseOrderNumber] => 1.30E+11
            [Data] => Array
                (
                    [0] => Array
                        (
                            [0] => HBX43C
                            [1] => HBX43C - Norwegian Custom Nespresso Tray
Dimensions: 10.75â€x14.75â€x Front 2â€hx Back 3â€h 
Leather: Black Faux Leather
Thread: Black
Custom Details: removable compartments; acrylic pod & creamer holders
No velcro on rubber mat
Case pack: 6
UPC: 697182429431
                            [2] => 6
                            [3] => 
                        )
                )
        )
)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果在两个数组中都计算元素

来自分类Dev

如果在另一个对象数组中找到属性,则映射对象

来自分类Dev

如果在数组中找到匹配项,则删除单行

来自分类Dev

JS /流星:如果在数组中找到字符串,则返回“ checked”

来自分类Dev

如果在数组中找到值,则切换列

来自分类Dev

如果在woocommerce中找到图像,则获取产品?

来自分类Dev

如果在数组中找到元素,则尝试打印一件事;如果不在C中,则尝试打印其他内容

来自分类Dev

如果在列中找到特定值,如何获取行中所有值的列表

来自分类Dev

如果在循环中找到多个键,该如何获取它的值?

来自分类Dev

如何在两个数组中找到公共元素?

来自分类Dev

如果在列表数组中找到匹配项,则Excel返回另一个单元格值

来自分类Dev

AngularJS显示元素(如果在数组中)

来自分类Dev

AngularJS显示元素(如果在数组中)

来自分类Dev

PHP插入简写,如果在数组内:

来自分类Dev

在PHP中,如何在一个数组中找到不在另一个数组中的元素?

来自分类Dev

php-如果在html文档中找到'cid:',则将值更改为src属性

来自分类Dev

如果一个数组的元素不在PHP的另一个数组中,如何获取多维度数组中的元素

来自分类Dev

如果在另一个数组中满足条件,如何处理一个数组中的数据?

来自分类Dev

如果在测试文件中找到字符串,如何使dos中的find命令失败?

来自分类Dev

如果在awk中找到图案,如何打印数据

来自分类Dev

如果在 value 中找到特定的迭代子字符串 *not*,如何返回值?

来自分类Dev

如何从服务Angular获取整个数组?

来自分类Dev

如果在 foreach 中缺少数组元素,则为多维数组

来自分类Dev

如果在另一个数据框中找到行,则将其删除

来自分类Dev

如果在列表元素中找到某个字符,则返回列表元素的Python方法

来自分类Dev

如果在Codeigniter中给定字符串值作为变量,如何从数组中获取键值

来自分类Dev

php数组块与数组的下一个元素

来自分类Dev

如何从php周期发送整个数组?

来自分类Dev

如果在保存的数组中未找到结果,则发出警报

Related 相关文章

  1. 1

    如果在两个数组中都计算元素

  2. 2

    如果在另一个对象数组中找到属性,则映射对象

  3. 3

    如果在数组中找到匹配项,则删除单行

  4. 4

    JS /流星:如果在数组中找到字符串,则返回“ checked”

  5. 5

    如果在数组中找到值,则切换列

  6. 6

    如果在woocommerce中找到图像,则获取产品?

  7. 7

    如果在数组中找到元素,则尝试打印一件事;如果不在C中,则尝试打印其他内容

  8. 8

    如果在列中找到特定值,如何获取行中所有值的列表

  9. 9

    如果在循环中找到多个键,该如何获取它的值?

  10. 10

    如何在两个数组中找到公共元素?

  11. 11

    如果在列表数组中找到匹配项,则Excel返回另一个单元格值

  12. 12

    AngularJS显示元素(如果在数组中)

  13. 13

    AngularJS显示元素(如果在数组中)

  14. 14

    PHP插入简写,如果在数组内:

  15. 15

    在PHP中,如何在一个数组中找到不在另一个数组中的元素?

  16. 16

    php-如果在html文档中找到'cid:',则将值更改为src属性

  17. 17

    如果一个数组的元素不在PHP的另一个数组中,如何获取多维度数组中的元素

  18. 18

    如果在另一个数组中满足条件,如何处理一个数组中的数据?

  19. 19

    如果在测试文件中找到字符串,如何使dos中的find命令失败?

  20. 20

    如果在awk中找到图案,如何打印数据

  21. 21

    如果在 value 中找到特定的迭代子字符串 *not*,如何返回值?

  22. 22

    如何从服务Angular获取整个数组?

  23. 23

    如果在 foreach 中缺少数组元素,则为多维数组

  24. 24

    如果在另一个数据框中找到行,则将其删除

  25. 25

    如果在列表元素中找到某个字符,则返回列表元素的Python方法

  26. 26

    如果在Codeigniter中给定字符串值作为变量,如何从数组中获取键值

  27. 27

    php数组块与数组的下一个元素

  28. 28

    如何从php周期发送整个数组?

  29. 29

    如果在保存的数组中未找到结果,则发出警报

热门标签

归档