Note that there are some explanatory texts on larger screens.

plurals
  1. POConvert string to unique numeric value in php
    text
    copied!<p>I needed a unique internal int to use that would represent several random content types that I couldn't hard code as class constants or config options. Yet I didn't want to refer to "2" when I could use the easier to follow term "post". So though up the a way to get a INT value from a string which seems to work fairly collision free for a couple items. </p> <p>Is there a way to do this in php rather than what I built?</p> <pre><code>$strings = array('post', 'comment', 'blog', 'article', 'forum', 'news', 'page'); foreach( $strings as $string ) { print $string . ' = '; $string = str_split($string); $sum = 0; foreach( $string as $char ) { $sum += ord($char); } var_dump( $sum ); print '&lt;br /&gt;'; } </code></pre> <p>This has nothing to do with user input so don't worry about the obvious flaws in the design.</p> <p>:EDIT:</p> <p>I need a numeric index for storing in a database for fast look ups. i.e. to tell "posts" from "articles" or "news". Yet I don't know what those 1-8 types of content will be called so I can't hard code those as constants in the app. Therefore, the best thing I could figure would be to create a numeric version of each word (which means checking to make sure two words don't sum up to the same number). </p> <p>If this were for a system that would have more than 8 words then this method is doomed to failure do to the high probability of sum collisions. Also, if I had a choice in knowing what words would be used then this would also be terrible design as class constants would work much better.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload