Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Keluarkan dengan PHP nilai variabel atau CONSTANT yang telah ditentukan sebelumnya dari string hasil MySQL

Mungkin jika Anda menyimpan string DB di sprint_f format, saya tidak melihat cara lain:

$color = 'blue';
define('GRASS_COLOR', 'green');

$text = 'The sky is %s and the grass is %s';
$text = sprintf( $text, $color , GRASS_COLOR );

echo $text;

PERBARUI

Rupanya saya agak terlalu terburu-buru dengan konstatasi 'saya tidak melihat cara lain '. Sebenarnya ini pasti dapat dicapai dengan penggunaan get_defined_vars() dan get_defined_constants() fungsi. Idenya adalah untuk mengumpulkan semua variabel dan konstanta yang ditentukan pengguna, dan kemudian menggantinya dalam sebuah string. Ini bahkan bisa menjadi mesin template sederhana ( jika belum ada ).

// place here value from database
$text = 'The sky is $color and</br> the grass is GRASS_COLOR';

$color = 'blue';
define('GRASS_COLOR', 'green');

// collect all defined variables and filter them to get only variables of string and numeric type
$values = array_filter( get_defined_vars(), function( $item ) {
    return is_string($item) || is_numeric($item);
});

// append the dollar sign to keys
$keys = array_map( function( $item ) { 
    return '$'.$item;
}, array_keys( $values ) );

// create the final array by comining the arrays $keys and $values
$vars = array_combine( $keys, array_values( $values ) );

// relpace names of the variables with values
$text = str_replace( array_keys( $vars ), array_values( $vars ), $text );

// collect all constants and replace user defined constants with values
$constants = get_defined_constants( true );
$text = str_replace( array_keys( $constants['user'] ), array_values( $constants['user'] ), $text );

// we are done
echo $text;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Cara membagi nilai dalam string tunggal menggunakan koma

  2. Untuk menjalankan .sql -file di MySQL

  3. Apa Algoritma pencarian terbaik untuk PHP &MYSQL?

  4. Cara menginstal dan mengkonfigurasi MySQL di Ubuntu

  5. Tanggal waktu MySQL tidak mengembalikan waktu