- substr: documentation ( source)
- var_dump: documentation ( source)
- strpos: documentation ( source)
- mb_substr: documentation ( source)
- mb_strlen: documentation ( source)
- array_keys: documentation ( source)
- trigger_error: documentation ( source)
<?php
class Test{ const ABC♥ = "alphabet"; }
$class = new ReflectionClass("Test");
$bad_char = "♥";
$constants = $class->getConstants();
$keys = array_keys($constants);
for ( $i=0, $ct=count($keys); $i < $ct; $i++) {
$target = $keys[ $i ];
if ( strpos( $target, $bad_char) !== false ) {
var_dump(substr($bad_char,0,1));
var_dump(mb_substr($bad_char,0,1)); // PHP5.6
var_dump(strlen($bad_char), mb_strlen( $bad_char, '8bit' ));
trigger_error( "'$bad_char' in '$target'" );
}}