PHP에서 부울 어레이를 처리하고 소수점 숫자로 변환하는 것은 특히 데이터 매핑, 권한 제어 또는 이진 식별 처리에서 일반적인 요구 사항입니다. 이 기사는 부울 어레이와 결합 된 PHP 내장 기능 Bindec ()을 사용하여 부울 어레이를 소수점 숫자로 간결하고 효율적으로 변환하는 방법을 소개합니다.
Bindec () 는 PHP가 이진 문자열을 소수점 숫자로 변환하는 데 사용하는 함수입니다. 예를 들어:
<?php
echo bindec("1011"); // 산출 11
?>
문자 '0'및 '1'으로 구성된 문자열을 수용하고 해당 소수 정수를 반환합니다.
부울 배열의 요소는 참 또는 거짓 이며, 이진 번호로 1과 0으로 생각할 수 있습니다. 예를 들어:
$array = [true, false, true]; // 해당 바이너리 101
단계는 다음과 같습니다.
부울 배열을 문자열 '1' 또는 '0' 에 맵핑하십시오.
bindec ()를 사용하여 문자열을 소수점으로 변환하십시오.
부울 배열을 십진수로 변환하는 방법을 보여주는 완전한 코드 데모는 다음과 같습니다.
<?php
// 부울 배열
$boolArray = [true, false, true, true]; // 해당 바이너리 1011
// 부울 값을 문자열로 변환하십시오 '1' 또는 '0'
$binaryString = implode('', array_map(function($b) {
return $b ? '1' : '0';
}, $boolArray));
// 사용 bindec() 소수점 번호로 변환하십시오
$decimalNumber = bindec($binaryString);
echo "부울 배열转换的이진字符串是: " . $binaryString . "\n";
echo "소수점 번호는 IS로 변환됩니다: " . $decimalNumber . "\n";
?>
실행 결과 :
부울 배열转换的이진字符串是: 1011
소수점 번호는 IS로 변환됩니다: 11
권한 제어 : 부울 배열을 사용하여 권한을 나타내고 소수 권한 코드로 변환하여 쉽게 쿼리 할 수 있도록 데이터베이스를 저장하십시오.
플래그 비트 맵 : 데이터 압축 및 전송의 쉬운 다중 부울 플래그를 하나의 숫자로 매핑하십시오.
상태 인코딩 : 장치 또는 시스템 상태의 이진 인코딩.
배열에서 부울 값의 순서는 이진 비트의 순서를 결정하며, 일반적으로 배열의 첫 번째 요소는 가장 높은 비트에 해당합니다.
부울 배열이 비어 있으면 변환 결과는 0입니다.
배열에 비-공간 유형이있는 경우 먼저 유형 확인 또는 변환을 수행하는 것이 좋습니다.
동적 플래그 관리를 용이하게하기 위해 길이의 부울 배열을 변환 할 수 있습니다.
<?php
function boolArrayToDecimal(array $boolArray): int {
$binaryString = implode('', array_map(fn($b) => $b ? '1' : '0', $boolArray));
return bindec($binaryString);
}
// 샘플 통화
$flags = [false, true, true, false, true]; // 이진 01101
echo boolArrayToDecimal($flags); // 산출 13
?>
이 예를 통해 간단한 매핑 변환을 달성하기 위해 부울 배열과 결합 된 PHP의 bindec () 함수를 사용하는 방법을 배웠습니다. 코드의 코딩 효율성과 코드의 유지 보수 가능성을 향상시키기 위해이 기술을 실제 개발에 적용 할 수 있기를 바랍니다.