API возвращает объект json aray, ключи, содержащие точки, пробелы и% в нем. Как переименовать или удалить ключ из массива? - PullRequest
0 голосов
/ 04 мая 2018

Возвращает API объекта, содержащий в нем точки, пробелы и%. Как удалить или переименовать эти ключи.

array:61 [▼
"status" => 0
"NetRange" => "31.0.0.0 - 31.255.255.255"
"CIDR" => "31.0.0.0/8"
"OrgName" => "RIPE Network Coordination Centre"
"OrgId" => "RIPE"
"Address" => "P.O. Box 10096"
"City" => "Amsterdam"
"StateProv" => ""
"PostalCode" => "1001EB"
"Country" => "NL"
"Referral.Server" => "whois://whois.ripe.net"
"Org Abuse.Handle" => "ABUSE3850-ARIN"
"Org Abuse.Name" => "Abuse Contact"
"Org Abuse.Phone" => "+31205354444"
"Org Abuse.Email" => "abuse@ripe.net"
"Org Abuse.Ref" => "https://whois.arin.net/rest/poc/ABUSE3850-ARIN"
"Org Tech.Handle" => "RNO29-ARIN"
"% Org Tech.Ref" => "https://whois.arin.net"
"inetnum" => "31.13.69.0 - 31.13.69.255"
"netname" => "IAD1"
"descr" => "Facebook"
"country" => "US"
"admin-c" => "RD4299-RIPE, PH4972-RIPE"
"tech-c" => "RD4299-RIPE, PH4972-RIPE"
"mnt-by" => "fb-neteng, fb-neteng"
"mnt-lower" => "fb-neteng"
"mnt-routes" => "fb-neteng"
"created" => "2014-06-11T18:46:37Z, 2011-04-11T18:49:50Z"
"last-modified" => "2014-06-11T18:46:37Z, 2013-08-14T15:49:58Z"
"source" => "RIPE, RIPE # Filtered"
"role" => "RIPE DBM"
"address" => "1601 Willow Rd., Menlo Park, CA, 94025"
"nic-hdl" => "RD4299-RIPE"
"abuse-mailbox" => "domain@fb.com"
"% This query was served by the RIPE Database Query Service version 1.91.2 (ANGUS)" => ""
"cidr_mask" => array:1 [▶]
]

Как изменить ключ Org Abuse.Handle для OrgAbuseHandle и % Org Tech.Ref для OrgTechRef.

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете попробовать что-то подобное с помощью str_replace () , array_keys () array_map () и array_combine ()

Шаги:

1. Прежде всего получить ключи из массива, используя array_keys()

2. Затем измените ключи, заменив ненужные символы, такие как %, . - и , используя array_map() и str_replace()

3. Наконец, объедините измененные ключи с существующими значениями, чтобы получить результирующий массив $result

<code><?php
$array = [
          "nic.hdl" => "RD4299-RIPE",
          "abuse-mailbox" => "domain@fb.com",
          "% This query was served by the RIPE" => ""
         ];

// replacing unwanted characters from every key
function replace_characters($n)
{
    return str_replace(array('-', ' ', '.','%'), '', $n);;
}

$keys = array_keys($array);
$proper_keys = array_map("replace_characters", $keys);
$result = array_combine($proper_keys,$array); // combine modified key & value
print '<pre>';
print_r($result);
print '
'; ?>

СМОТРЕТЬ ДЕМО : https://eval.in/999435

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...