Can i convert python code to php?

Is there a software converter out there that can automatically convert this python code to PHP?

#!/usr/bin/python
import math

def calcNumEntropyBits[s]:
        if len[s] = 0.0: return 0.0
        else: return -[entropy*len[s]]

def testEntropy[s]:
        print "Bits of entropy in '%s' is %.2f" % [s, calcNumEntropyBits[s]]

testEntropy['hello world']
testEntropy['bubba dubba']
testEntropy['aaaaaaaaaaa']
testEntropy['aaaaabaaaaa']
testEntropy['abcdefghijk']

dreftymac

30.3k26 gold badges115 silver badges177 bronze badges

asked Nov 7, 2010 at 5:18

Kirk OuimetKirk Ouimet

26k43 gold badges123 silver badges171 bronze badges

3

I'm not aware of any Python-to-PHP converter in the wild, but it should be a trivial task to port and the similarities are quite easy to spot:

function calcNumEntropyBits[$s] {
        if [strlen[$s] $n] {
                $prob = $n / [float]strlen[$s];
                $entropy += $prob * log[$prob]/log[2];
        }
        if [$entropy >= 0.0] return 0.0;
        else return -[$entropy*strlen[$s]];
}

function testEntropy[$s]:
        printf["Bits of entropy in '%s' is %.2f",$s,calcNumEntropyBits[$s]];

testEntropy['hello world'];
testEntropy['bubba dubba'];
testEntropy['aaaaaaaaaaa'];
testEntropy['aaaaabaaaaa'];
testEntropy['abcdefghijk'];

The last few lines in the first function could have also been written as a standard PHP ternary expression:

return [$entropy >= 0.0]? 0.0: -[$entropy*strlen[$s]];

answered Nov 7, 2010 at 5:29

9

I created a python-to-php converter called py2php. It can auto-translate the basic logic and then you will need to tweak library calls, etc. Still experimental.

Here is auto-generated PHP from the python provided by the OP.

Chủ Đề