What is the difference between ARP and MAC addresses in networking?

ARP (Address Resolution Protocol) is used to map an IP address to a MAC address in a local network. MAC addresses are unique identifiers assigned to network interfaces for communication on the physical network. In contrast, MAC addresses are hardcoded into network interfaces, while ARP is a protocol used to dynamically resolve IP to MAC addresses.

// Get MAC address of a device using PHP
function getMACAddress($ip){
    exec("arp -a $ip", $output);
    $mac = false;
    if(isset($output[3])){
        $pieces = explode(" ", $output[3]);
        $mac = $pieces[1];
    }
    return $mac;
}

$ip = "192.168.1.1";
$macAddress = getMACAddress($ip);
echo "MAC Address of $ip is: $macAddress";