Tablodan bunları başvuran, eğer başka çoklu ifadeleri Yoğuşmalı?

3 Cevap php

Merhaba ben her kodlama aynı olması benim kod (PHP) içine bazı başka 500 if ifadeleri yazmak üzereyim:

if (color=White);
   rgb = 255-255-255;
   print rgb;
else if (color=Black);
   rgb = 0-0-0;
   print rgb;
else if (color=Red);
   rgb = 255-0-0;
   print rgb;
else if (color=Blue);
   rgb = 0-0-255;
   print rgb;
[the list keeps going]

Ben de (neyse ki) nasıl zaman başka tüm bu ifadeleri eğer yazarak kaydetmek için bu kullanırım ... Bunlardan 500 için bir sonraki sütunda ilk sütun ve rgb değeri renk görüntüleyen bir tablo var? Ben tablo dosyası başvurmak zorunda Bazı nasıl (excel yapılmış, ben olarak kaydetmek gerekir tahmin ediyorum. Csv?)

3 Cevap

En iyi bahis sonra sadece yapmak, bir veritabanına veri (RGB değeri renk adı) koymak için:

SELECT rgb FROM colors WHERE color = 'red';

Eğer bir veritabanı yapamaz ise, fgetcsv() kullanmak ve bir diziye CSV verileri okuyabilir. Sonra sadece çıkış:

echo $colors[$color];

Bir CSV bir diziye dosyasını okumak için, gibi bir şey kullanın:

//assuming the first field is color and the second rgb
$fh = fopen($file, 'r');
while (($row = fgetcsv($fh)) !== FALSE) {
  $colors[$row[0]] = $row[1];
}

Why aren't you printing rgb end Tüm if-else s de?

Frankly, your syntax is horrible, this is not valid PHP at all. Also, you should be using echo, not print.

if ($color=='White')
   $rgb = '255-255-255';
else if ($color=='Black')
   $rgb = '0-0-0';
else if ($color=='Red')
   $rgb = '255-0-0';
else if (color=='Blue')
   $rgb = '0-0-255';
[the list keeps going]
echo $rgb;

Ne yapacağını böyle bir dizide mağaza anahtar-değer çiftleri olan:

$colors = array( 'white' => '255-255-255', 'black' => '0-0-0', 'blue' => '0-0-255' );

Daha sonra sağlayarak diziden RGB değeri erişebilirsiniz key, yani renkli dize: $blueRGB = $colors[ 'blue' ];

Bir dizi kullanmak gerekir.

$colors = array(
    'white' => '255-255-255',
    'black' => '0-0-0',
    // etc.
);
echo $colors[$color];

Bir CSV dosyası varsa, kullanabilirsiniz fgetcsv.

$colors = array();
$handle = fopen('colors.csv', 'r');
while ($row = fgetcsv($handle, 10000))
    $colors[$row[0]] = $row[1];
echo $colors[$color];