PHP code example of geoffreyrose / rank-phone-numbers

1. Go to this page and download the library: Download geoffreyrose/rank-phone-numbers library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

geoffreyrose / rank-phone-numbers example snippets


use RankPhoneNumbers\RankPhoneNumbers;

...
$myNumbers = ['18005557184', '18005554030'];
$rankPhoneNumbers = new RankPhoneNumbers\RankPhoneNumbers;
$rankPhoneNumbers->setPhoneNumbers($myNumbers);
$ranked = $rankPhoneNumbers->rank();

// $ranked
[
    [0] => (object) [
        "phone_number" => "18005554030"
        "rank_phone_number_points" => 175
        "rank_phone_number_word_match_end" => []
    ],
    [1] => (object) [
        "phone_number"] => "18005557184"
        "rank_phone_number_points" => 0
        "rank_phone_number_word_match_end" =>  []
    ]
]

$myNumbers = ['18005557184', '18005554030'];
$rankPhoneNumbers = RankPhoneNumbers::setPhoneNumbers($myNumbers);
$ranked = $rankPhoneNumbers->rank();

// $ranked
[
    [0] => (object) [
        "phone_number" => "18005554030"
        "rank_phone_number_points" => 175
        "rank_phone_number_word_match_end" => []
    ],
    [1] => (object) [
        "phone_number"] => "18005557184"
        "rank_phone_number_points" => 0
        "rank_phone_number_word_match_end" =>  []
    ]
]

$twilioNumbers = [
    (object) [
        "highlighted" => "+15095554030",
        "friendlyName" => "(509) 555-4030",
        "phoneNumber" => "+15095554030",
        "locality" => "Omak",
        "region" => "WA",
        "postalCode" => "98841",
        "lata" => "676",
        "rateCenter" => "OMAK",
        "latitude" => "48.364700",
        "longitude" => "-119.270400",
        "isoCountry" => "US",
        "addressRequirements" => "none",
        "beta" => false,
        "capabilities" => (object)[
            "voice" => true,
            "SMS" => true,
            "MMS" => true
        ],
        "request_number" => true
    ],
    (object) [
        "highlighted" => "+15095557780",
        "friendlyName" => "(509) 555-7780",
        "phoneNumber" => "+15095557780",
        "locality" => "Ritzville",
        "region" => "WA",
        "postalCode" => "99169",
        "lata" => "676",
        "rateCenter" => "RITZVILLE",
        "latitude" => "47.079600",
        "longitude" => "-118.470500",
        "isoCountry" => "US",
        "addressRequirements" => "none",
        "beta" => false,
        "capabilities" => (object)[
            "voice" => true,
            "SMS" => true,
            "MMS" => true
        ],
        "request_number" => true
    ],
    (object) [
        "highlighted" => "+15095558683",
        "friendlyName" => "(509) 555-8683",
        "phoneNumber" => "+15095558683",
        "locality" => "Ritzville",
        "region" => "WA",
        "postalCode" => "99169",
        "lata" => "676",
        "rateCenter" => "RITZVILLE",
        "latitude" => "47.079600",
        "longitude" => "-118.470500",
        "isoCountry" => "US",
        "addressRequirements" => "none",
        "beta" => false,
        "capabilities" => (object)[
            "voice" => true,
            "SMS" => true,
            "MMS" => true
        ],
        "request_number" => true
    ]
];

$rankPhoneNumbers = RankPhoneNumbers::setPhoneNumbers($twilioNumbers);
$rankPhoneNumbers->setPhoneNumbersKeyName('phoneNumber');
$ranked = $rankPhoneNumbers->rank();
// $ranked

[
    [0] => (object) [
        "highlighted" => "+15095557780",
        "friendlyName" => "(509) 555-7780",
        "phoneNumber" => "+15095557780",
        "locality" => "Ritzville",
        "region" => "WA",
        "postalCode" => "99169",
        "lata" => "676",
        "rateCenter" => "RITZVILLE",
        "latitude" => "47.079600",
        "longitude" => "-118.470500",
        "isoCountry" => "US",
        "addressRequirements" => "none",
        "beta" => false,
        "capabilities" => (object)[
            "voice" => true,
            "SMS" => true,
            "MMS" => true
        ],
        "request_number" => true,
        "rank_phone_number_points" => 225
        "rank_phone_number_word_match_end" =>  []
    ],
    [1] => (object) [
        "highlighted" => "+15095554030",
        "friendlyName" => "(509) 555-4030",
        "phoneNumber" => "+15095554030",
        "locality" => "Omak",
        "region" => "WA",
        "postalCode" => "98841",
        "lata" => "676",
        "rateCenter" => "OMAK",
        "latitude" => "48.364700",
        "longitude" => "-119.270400",
        "isoCountry" => "US",
        "addressRequirements" => "none",
        "beta" => false,
        "capabilities" => (object)[
            "voice" => true,
            "SMS" => true,
            "MMS" => true
        ],
        "request_number" => true,
        "rank_phone_number_points" => 175
        "rank_phone_number_word_match_end" =>  []
    ],
    [2] => (object) [
        "highlighted" => "+15095558683",
        "friendlyName" => "(509) 555-8683",
        "phoneNumber" => "+15095558683",
        "locality" => "Ritzville",
        "region" => "WA",
        "postalCode" => "99169",
        "lata" => "676",
        "rateCenter" => "RITZVILLE",
        "latitude" => "47.079600",
        "longitude" => "-118.470500",
        "isoCountry" => "US",
        "addressRequirements" => "none",
        "beta" => false,
        "capabilities" => (object)[
            "voice" => true,
            "SMS" => true,
            "MMS" => true
        ],
        "request_number" => true,
        "rank_phone_number_points" => 80
        "rank_phone_number_word_match_end" => [
            "vote"
        ]
    ]
];

$rankPhoneNumbers = new RankPhoneNumbers\RankPhoneNumbers;
$rankPhoneNumbers->setPhoneNumbers($phoneNumbers);
$rankPhoneNumbers->rules['repeats_in_a_row']->points = 123;

namespace App;

use RankPhoneNumbers\Abstracts\RuleAbstract;

class MyCustomRule extends RuleAbstract
{
    public function __construct()
    {
        $this->pattern = '/3792/';
        $this->points = 500;
        $this->name = 'my_custom_rule';
    }
}

... 
 
$rankPhoneNumbers = new RankPhoneNumbers\RankPhoneNumbers;
$rankPhoneNumbers->addRule(new App\MyCustomRule);

$rankPhoneNumbers = new RankPhoneNumbers\RankPhoneNumbers;
$rankPhoneNumbers->wordRules['word_is_last_four']->points = 75;

$rankPhoneNumbers = new RankPhoneNumbers\RankPhoneNumbers;
$rankPhoneNumbers->wordRules['word_is_last_four']->points = 75;
$rankPhoneNumbers->rules['repeats_in_a_row']->points = 123;`