Ir ao conteúdo

Posts recomendados

Postado

Estou desenvolvendo uma calculadora de IP em PHP. Tenho um array de máscara em binário, quero comparar cada carácter de cada posição para saber se o bit tá setado. Na internet encontrei uma função chamada "str_word_count()" mas não entendi se ela pode me dar isso que eu quero. Alguém sabe se existe uma função pra isso ou uma forma que eu possa fazer?

Postado

@Deyci Tenta usar "str_split($foo , quantidade para cada separação)".

Se quiser testar pra entender melhor:

$x = "ola";
$y = str_split($x,1);
foreach ($y as $a){
    echo "$a<br/>";
}

o "str_word_count" ele conta quantas palavras existem na string, por exemplo: 

 

$str1= "olameunomeeDYS";

retornaria 1

$str2= "ola meu nome e DYS";

retornaria 5

Postado

@DYS Não funcionou. Acho que essa função só serve pra string. No meu caso, a máscara em binário é um array de 4 posições (4 octetos) e em cada posição tem 8 bits. 

Postado

Opa então, ele funciona sim com números inteiros, acontece que o PHP transforma o numero em string, por conta do processo que vai ser feito, para transformar de string para numero inteiro de volta é só colocar por exemplo: "$a = (int) $a;".

 

<?php
$x = 1551888566618444;
$y = str_split($x,4);
foreach ($y as $a){
	$a = (int)$a;
	echo "$a: ";
	if ($a === 1551){
		echo "frango <br/>";
	}elseif ($a === 8885){
		echo "galinha <br/>";
	}elseif ($a === 6661){
		echo "pintinho <br/>";
	}elseif($a === 8444){
		echo "tamandua <br/>";
	}
}

É bem simples de fazer essa transformação de decimal para binário ou de binário para decimal, qualquer dúvida só postar que a galera ajuda.

 

http://php.net/manual/pt_BR/function.decbin.php

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...