<?php
function cidrToRange($cidr) {
  $range = array();
  $cidr = explode('/', $cidr);
  $range[0] = long2ip((ip2long($cidr[0])) & ((-1 << (32 - (int)$cidr[1]))));
  $range[1] = long2ip((ip2long($range[0])) + pow(2, (32 - (int)$cidr[1])) - 1);
  return $range;
}
var_dump(cidrToRange("104.176.0.0/12"));

//output array "array(2) { [0]=> string(11) "104.176.0.0" [1]=> string(15) "104.191.255.255" }""
?>

क्या मुझे सरणी आउटपुट से "104.176.0.0" और "104.191.255.255" डेटा मिल सकता है? क्या आप सही PHP कोड प्रदान कर सकते हैं। धन्यवाद

php
-2
Yunas Bakih 15 अप्रैल 2020, 17:37

1 उत्तर

सबसे बढ़िया उत्तर

बस फ़ंक्शन कॉल के परिणाम को एक चर में डालें और फिर अपने इच्छित भागों को प्रिंट करें

<?php
function cidrToRange($cidr) {
    $range = array();
    $cidr = explode('/', $cidr);  
    $range[0] = long2ip((ip2long($cidr[0])) & ((-1 << (32 - (int)$cidr[1]))));
    $range[1] = long2ip((ip2long($range[0])) + pow(2, (32 - (int)$cidr[1])) - 1);
    return $range;
}
$range = cidrToRange("104.176.0.0/12");
echo 'Staring at ' . $range[0] .'<br>'
echo 'Ending at '  . $range[1] .'<br>'
1
RiggsFolly 15 अप्रैल 2020, 14:54