Php Dersi 02: Değişkenler,Sabitler,Genel Tanımlı Değişkenler - Google Fan Webmaster Forum
Google Fan Webmaster Forum  

Geri Dön   Google Fan Webmaster Forum > R10 Webmaster Kütüphanesi > R10 Bilgi Arşivi > Dersler

Cevapla
 
LinkBack Konu Seçenekleri
  #1 (permalink)  
Eski 07-07-2007, 02:25:22
EJDER - ait Avatar
 
İstanbul Avrupa Şubesi
Nerden: istanbul
Yaş: 27
Mesajlar: 1.290
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (3)
iTrader Feedback: (100%)
Rep puanı: 222
EJDER isimli üyemiz sevilmeye başlanan bir üye.EJDER isimli üyemiz sevilmeye başlanan bir üye.EJDER isimli üyemiz sevilmeye başlanan bir üye.
Tanımlı Php Dersi 02: Değişkenler,Sabitler,Genel Tanımlı Değişkenler

Her programlama dilinde olduğu gibi PHP'de de değişkenler çok önemlidir. Daha önce programlama tecrübesi olanlar için değişken (variable) çok yakın bir ifadeyken yeni programlamaya başlayan biri için en temel soru işaretidir. Değişkenleri iyi kavramadan diğer konulara geçmek imkansızdır. Çünkü her adımda değişkenlerle mutlaka karşılaşacağız. Değişkenler kod içerisinde değiştirmeyi düşündüğümüz veya çeşitli verileri içinde sakladığımız isim parçalarıdır.
Normal hayattan örnek vermek gerekirse, okula gittiğimiz zaman sürekli olarak "ders" 'e gireriz, işte bu değişkendir. Hangi derse girdiğimiz ise bu değişkenin değeridir. Örneğin 1. ders Matematik, 2. ders Türkçe şeklinde değişkenimiz sürekli olarak değişebilir. 1. ders de iken dersimiz ne diye sorduğumuzda herkes Matematik cevabını verirken, 2. ders'e girdiğimizde aynı soruya cevabımız Türkçe olacaktır..
Şimdide programlama kısmına geçelim. PHP'de değişkenler $ ile belirtilmektedir. Eğer PHP'de bir yazının başında $ işareti varsa o değişkendir. Değişkenleri tanımlarken dikkat etmemiz gereken bazı noktalar vardır.
  • Değişken numara ile başlayamaz $1numara yanlıştır
  • Karakter kullanılamaz (+,-,& gibi) $numara-1 yanlıştır
  • Türkçe karakter kullanılamaz $türkçe yanlıştır
  • PHP standart değişkenleri kullanılamaz $HTTP_POST_VARS yanlıştır Bu standart değişkenlere ilerde değineceğim.
  • Büyük-Küçük harf duyarlıdır $degisken ve $DegiskeN farklı iki değişkendir
  • Değişken isimlerini mümkün olduğunca açık ve net yazmak gerekir $DersinAdi gibi
  • Belirli bir standardı takip etmemiz kodlama açısından faydalı olacaktır, kelimenin 1. harfini büyük yazmak veya kelimelerin arasını _ ile ayırmak gibi $DersinAdi veya $dersin_adi şeklinde
Bu konuları örnekten önce anlattım ama bunlara mutlaka bilmemiz gereken hususlardır. Şimdi ilk ve en basit örneğimizi yapalım
PHP Kodu:
<?
$mesaj 
"Merhaba Dünya";
echo(
$mesaj);
?>
Bunun çıktısı aşağıdaki şekilde olacaktır.
HTML Code:
Merhaba Dünya
Gördüğünüz gibi değişkenimize bir değer atadık ve ekrana bastık. Gerçek dünyadaki örneğimize uygun bir örnek yapalım.
PHP Kodu:
<?
$dersin_adi 
"Matematik";
echo(
"1. Dersin Adı : ");
echo(
$dersin_adi);
echo(
"<br>");
$dersin_adi "Türkçe";
echo(
"2. Dersin Adı : ");
echo(
$dersin_adi);
?>
Bunun çıktısı aşağıdaki şekilde olacaktır.
HTML Code:
1. Dersin Adı : Matematik
2. Dersin Adı : Türkçe
Değişkenimize bir değer atamak istediğimiz zaman = işaretini kullanmamız yeterli olacaktır. PHP'de yazıları birbiriyle birleştirmek için . (nokta) kullanabiliriz. Yukarıdaki örneğimiz . (nokta) kullanarak yazdığımız zaman daha kısa ve anlaşılır olacaktır.
PHP Kodu:
<?
$dersin_adi 
"Matematik";
echo(
"1. Dersin Adı : ".$dersin_adi."<br>");
$dersin_adi "Türkçe";
echo(
"2. Dersin Adı : ".$dersin_adi);
?>
Bu kodun çıktısı da yukarıdaki ile aynı olacaktır. . (nokta) ile yazılarımızı ve değişkenlerimizi birleştirmiş olduk. Bunu birçok yerde kullanabiliriz. Mesela isim ve soyadı ayrı ayrı alıp ekrana tek bir parça halinde yazabiliriz.
PHP Kodu:
<?
$isim 
"Hasan";
$soyad "Yaşar";
echo(
$isim." ".$soyad);
?>
Bu kod ekrana Hasan Yaşar yazacaktır. Aynı işlemi iki değişkenimizi bir değişkende birleştirerek de yapabilirdik.
PHP Kodu:
<?
$isim 
"Hasan";
$soyad "Yaşar";
$isim_soyad $isim." ".$soyad;
echo(
$isim_soyad);
?>
Bu kodumuz da ekrana aynı sonucu yazacaktır. PHP'de değişkenler konusunda oldukça esnektir. Hem yazıyı, hem sayıyı değişken olarak atayabiliriz.
PHP Kodu:
<?
$isim 
"Hasan";
$soyad "Yaşar";
$yas 27;
echo(
$isim." ".$soyad." ".$yas." yaşındadır");
?>
Buradaki kodumuz ekrana Hasan Yaşar 27 yaşındadır yazacaktır. Esneklik olarak değişkenimizi . (nokta) ile birleştirmek yerine direk olarak parantez içerisinde de yazabilmekteyiz. Yukarıdaki tanımlamalarımızın devam ettiğini düşünerek alttaki örneği yazabiliriz.
PHP Kodu:
<?
echo("$isim $soyad $yas yaşındadır");
?>
Bu kodun ekran çıktısı da aynı olacaktır. Bir önceki konuda ' (tek tırnak) ile " (çift tırnak) arasında bazı farklardan bahsetmiştim, burada ' (tek tırnak) kullandığımız takdirde ekrana $isim $soyad $yas yaşındadır şeklinde bir çıktı gelecektir, haliyle değişkenlerimizin değerleri ekrana basılmamış olacaktır.
Değişken tanımlamalarını yaparken değişken tanımlarken bir değişken ismini de kullanabiliriz..
PHP Kodu:
<?
$olay 
"ders";
$
$olay "Matematik";
echo(
$ders);
?>
Bu kod ekrana Matematik yazdıracaktır. $olay değişkeninde ders tanımlı olduğu için tekrar $ koyduğumuz zaman $ders diye bir değişken olacaktır ve atamamız ona yapılacaktır.
Değişkenleri ilk başlarda en çok formlarımızda kullanacağız. Bu nedenle formlardan nasıl veri alacağımızı da öğrenmemiz gerekiyor. Form'dan veri gönderme metodumuz POST ise $_POST["deger"] şeklinde alabiliriz, GET metodu ile gönderildiyse $_GET["deger"] seklinde veriyi alabiliriz.
Öncelikle bir HTML dosyası oluşturup içerisine de formumuzu hazırlayalım, ismini form.html olarak kaydedebiliriz.
HTML Code:
<form action="form.php" method="GET">
İsminizi Giriniz : <input type="text" name="isim"><br>
Soyadınızı Giriniz : <input type="text" name="soyad"><br>
<input type="submit" value="Gönder">
</form> 
Daha sonra bir php dosyası ile bunu okuyup ekrana basalım. Dosyamızın adı action'da belirttiğimiz isim olmalıdır, çünkü verilerimiz orada yazan dosyaya gönderilmektedir.
form.php
PHP Kodu:
<?
echo("İsminiz : ".$_GET["isim"]."<br>");
echo(
"Soyadınız : ".$_GET["soyad"]."<br>");
?>
Ekran çıktısı :
İsminiz : Girdiğiniz isim
Soyadınız : Girdiğiniz soyad
şeklinde olacaktır. Metod olarak POST kullanmış olsaydık, dosyamız aşağıdaki şekilde olacaktı.
form.php
PHP Kodu:
<?
echo("İsminiz : ".$_POST["isim"]."<br>");
echo(
"Soyadınız : ".$_POST["soyad"]."<br>");
?>
Birde yukarıda bahsettiğim PHP'nin kendi kullandığı standart fonksiyonlar vardır. Bunlara genel tanımlı değişkenler (environment variables) denilmektedir.
Genel Tanımlı Değişkenler (Environment Variables) :
$_GET veya $HTTP_GET_VARS Form'dan GET metodu ile gönderilen veriyi alır
$_POST veya $HTTP_POST_VARS Form'dan POST metodu ile gönderilen veriyi alır
$HTTP_USER_AGENT Ziyaretçinin tarayıcı (browser) bilgisini verir
$REMOTE_ADDR Ziyaretçinin IP adresini verir
$REQUEST_URI Çalışmakta olan PHP dosyasının adını varsa GET metodu ile gönderilmiş değerleri verir
$SCRIPT_FILENAME Çalışmakta olduğumuz PHP dosyasının ismini verir
$SCRIPT_URI Çalışmak olduğumuz dosyanın tam adresini verir
$SERVER_ADDR Sunucunun IP adresini verir
$PHP_SELF Çalışmakta olduğumuz dosyayı ve dizini verir..
Başka genel tanımlı değişkenlerde vardır bunları da kolayca internette bulabilirsiniz, fakat ilk başta bunlar yeterli olacaklardır.. Bunları normal değişkenler gibi kullanabiliriz.
PHP Kodu:
<?
echo("Hoşgeldiniz.. IP Adresiniz : $REMOTE_ADDR");
?>
Bu ekrana Hoşgeldiniz.. IP Adresiniz: 1.2.3.4 şeklinde bir sonuç basacaktır.
Sabitler
Değişkenler dışında sabitlerde tanımlayabiliriz, bunlar kodumuz içerisinden değiştiremediğimiz ve değiştirmeyeceğimiz değerlerdir.. define() fonksiyonu ile tanımlanmaktadır. Klasik örnek olarak PI sayısı verilmektedir, bende klasiği bozmayıp o örneği veriyorum.
PHP Kodu:
<?
define
("PI","3.14");
echo(
PI);
?>
Ekrana 3.14 basılacaktır ve istediğimiz yerde PI değerini kullanabiliriz, birçok PHP yazılımında dil dosyaları bu tarz sabitlerle tanımlanmaktadır.
Kısaca değişkenler bu kadar, global değişkenleri ileriki konularda anlatacağım. Matematiksel işlemleri anlattıktan sonra değişkenlerle ilgili fonksiyonları da anlatacağım..
Bu fonksiyonları önceden gözatmak isterseniz..
settype()
gettype()
isset()
unset()
empty()
is_string()
is_integer()
is_double()
intval()
doubleval()
doubleval()
__________________
"Topçu Çavuş, Tekirdağ-Hayrabolu :)" haber34.com

Konu EJDER tarafından (07-07-2007 Saat 17:17:20 ) de değiştirilmiştir..
Alıntı ile Cevapla
  #2 (permalink)  
Eski 07-07-2007, 10:27:41
Üyeliği durduruldu
 
İstanbul Avrupa Şubesi
Mesajlar: 617
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (8)
iTrader Feedback: (83%)
Rep puanı: 6
tolgalex isimli üyemiz hakkına hiçbir bilgimiz yok.
tolgalex - ICQ üzerinden Mesaj gönder tolgalex - AİM üzerinden Mesaj gönder tolgalex - MSN üzerinden Mesaj gönder tolgalex - YAHOO üzeri ndenMesaj gönder
Tanımlı

Abi kafama takılan şu:

Alıntı:
EjdeR´isimli üyeden Alıntı Mesajı Göster
PHP Kodu:
<?
$dersin_adi 
"Matematik";
echo(
"1. Dersin Adı : ");
echo(
$dersin_adi);
echo(
"<br>");
$dersin_adi "Türkçe";
echo(
"2. Dersin Adı : ");
echo(
$dersin_adi);
?>
Burada 2 tane $dersin_adi değişkenini kullanmışsın...
Sonra aynı değişkenlere Matematik ve Türkçe olmak üzere 2 atama yapmışsın...
E bunlar aynı değişken nasıl oluyor da 2 tane farklı atama aynı değişkene yazıyor.
Ayrıca array kullanıp da bunu yapabilir miyiz?
Ve dediğim gibi tek değişkene 2 farklı atama yaparken değişkeni yazınca (echo ile) Matematik mi Türkçe mi olduğunu nasıl belirliyorsun ?
Alıntı ile Cevapla
  #3 (permalink)  
Eski 07-07-2007, 12:47:46
oktay - ait Avatar
 
Konya Şubesi
Nerden: Anadolu'dan
Yaş: 19
Mesajlar: 931
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (2)
iTrader Feedback: (100%)
Rep puanı: 19
oktay isimli üyemiz hakkına hiçbir bilgimiz yok.
oktay - MSN üzerinden Mesaj gönder
Tanımlı

iznin ile abi ufak bi hata var onu belirtmek istiyorum
PHP Kodu:
<? 
echo("Hoşgeldiniz.. IP Adresiniz : $REMOTE_ADDR); 
?>
burada ise $REMOTE_ADDR"); şeklinde düzeltmeniz gerekiyor.
Ayrıca benim anlamadığım bir yer var abi
PHP Kodu:
<? 
$dersin_adi 
"Matematik"
echo(
"1. Dersin Adı : ".$dersin_adi."<br>"); 
$dersin_adi "Türkçe"
echo(
"2. Dersin Adı : ".dersin_adi); 
?>
bu komutta nasıl 2 değişkeni de aynı iş için kullanabiliyoruz,ayrıca ".dersin_adi); bu şekilde mi yoksa bu şekilde mi ".$dersin_adi."); yazılıyor.
Teşekkürler...
__________________
Bildir.Net - bilmeyen kalmasın!
Alıntı ile Cevapla
  #4 (permalink)  
Eski 07-07-2007, 13:01:22
Grafix - ait Avatar
 
Bursa Şubesi
Yaş: 20
Mesajlar: 209
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 23
Grafix isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

Code:
 
<?  
$dersin_adi = "Matematik";  
echo("1. Dersin Adı : ".$dersin_adi."<br>");  
$dersin_adi2 = "Türkçe";  
echo("2. Dersin Adı : ".$dersin_adi2);  
?>  
Alıntı ile Cevapla
  #5 (permalink)  
Eski 07-07-2007, 13:04:07
yakoSin - ait Avatar
Confused
 
İstanbul Anadolu Şubesi
Nerden: Üsküdar
Yaş: 21
Mesajlar: 4.327
Thanks: 108
Thanked 45 Times in 6 Posts
iTrader Puanı: (23)
iTrader Feedback: (100%)
Rep puanı: 890
yakoSin isimli arkadaşımızı herkes örnek almalı.yakoSin isimli arkadaşımızı herkes örnek almalı.yakoSin isimli arkadaşımızı herkes örnek almalı.yakoSin isimli arkadaşımızı herkes örnek almalı.yakoSin isimli arkadaşımızı herkes örnek almalı.yakoSin isimli arkadaşımızı herkes örnek almalı.yakoSin isimli arkadaşımızı herkes örnek almalı.
Tanımlı

".dersin_adi); dogrusu bu ..Anladığım kadarıyla

".dersin_adi."bu şekilde olabilir"); ekrana dersin adını yazar peşinede bu şekilde olabilir yazar...
doğru anladıysam böyle olmalı...
__________________
Bundan sonra kısasa kısas.
Alıntı ile Cevapla
  #6 (permalink)  
Eski 07-07-2007, 13:52:06
AlperenSonad - ait Avatar
 
Karabük Şubesi
Mesajlar: 367
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (7)
iTrader Feedback: (100%)
Rep puanı: 29
AlperenSonad isimli üyemiz hakkına hiçbir bilgimiz yok.
AlperenSonad - MSN üzerinden Mesaj gönder
Tanımlı

Alıntı:
oktay´isimli üyeden Alıntı Mesajı Göster
iznin ile abi ufak bi hata var onu belirtmek istiyorum
PHP Kodu:
<? 
echo("Hoşgeldiniz.. IP Adresiniz : $REMOTE_ADDR); 
?>
burada ise $REMOTE_ADDR"); şeklinde düzeltmeniz gerekiyor.
Ayrıca benim anlamadığım bir yer var abi
PHP Kodu:
<? 
$dersin_adi 
"Matematik"
echo(
"1. Dersin Adı : ".$dersin_adi."<br>"); 
$dersin_adi "Türkçe"
echo(
"2. Dersin Adı : ".dersin_adi); 
?>
bu komutta nasıl 2 değişkeni de aynı iş için kullanabiliyoruz,ayrıca ".dersin_adi); bu şekilde mi yoksa bu şekilde mi ".$dersin_adi."); yazılıyor.
Teşekkürler...
hata o değil hata
PHP Kodu:
<? 
echo("Hoşgeldiniz.. IP Adresiniz : ".$REMOTE_ADDR); 
?>
şeklinde düzeltilmeli. ayrıca ejder abi sanırım değişkenleri iki şekilde de kullanabilecegimizi belirtmiş .dersin_adi ve .$dersin_adi diyerek
Alıntı ile Cevapla
  #7 (permalink)  
Eski 07-07-2007, 13:54:36
AlperenSonad - ait Avatar
 
Karabük Şubesi
Mesajlar: 367
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (7)
iTrader Feedback: (100%)
Rep puanı: 29
AlperenSonad isimli üyemiz hakkına hiçbir bilgimiz yok.
AlperenSonad - MSN üzerinden Mesaj gönder
Tanımlı

ayrıca kodları dogru yazdıgınızı php bbcode u içine aldıgınızda renklerdende anlayabilirsiniz. fonksiyonlar yeşil; değişkenler mavi; tırnaklar ve içindeki yazılar kırmızı olarak çıkmalı. tabi eger dogru yazıldıysa
Alıntı ile Cevapla
  #8 (permalink)  
Eski 07-07-2007, 16:11:29
Gangstamonu - ait Avatar
 
Kastamonu Şubesi
Mesajlar: 3.095
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (13)
iTrader Feedback: (100%)
Rep puanı: 164
Gangstamonu isimli üyemiz daha yolun başında.Gangstamonu isimli üyemiz daha yolun başında.
Gangstamonu - MSN üzerinden Mesaj gönder
Tanımlı

Alıntı:
tolgalex´isimli üyeden Alıntı Mesajı Göster
Abi kafama takılan şu:
Burada 2 tane $dersin_adi değişkenini kullanmışsın...
Sonra aynı değişkenlere Matematik ve Türkçe olmak üzere 2 atama yapmışsın...
E bunlar aynı değişken nasıl oluyor da 2 tane farklı atama aynı değişkene yazıyor.
Ayrıca array kullanıp da bunu yapabilir miyiz?
Ve dediğim gibi tek değişkene 2 farklı atama yaparken değişkeni yazınca (echo ile) Matematik mi Türkçe mi olduğunu nasıl belirliyorsun ?
evet bende onu inceliyodum fark varmı diye ama yok. heralde ufak bi yanlış var. eline sağlık bu ders de güzel ve açıklayıcı olmuş.
birde php kodları yazarken hangi programı önerirsiniz?
son olarak şu şekilde yazmak daha anlaşılır değilmi okunus olsun görünüş olsun;
<?
$iyiders = "Beden Eğitimi";
$kotuders = "Matematik";
echo("en sevdigimiz ders: ");
echo($iyiders);
echo("<br>");
echo("en sevmediğimiz ders: ");
echo($kotuders);
?>
--
en çok hangi tarz kullanılıyor onuda merak ettim.
__________________
lalalala

Konu Gangstamonu tarafından (07-07-2007 Saat 16:46:44 ) de değiştirilmiştir..
Alıntı ile Cevapla
  #9 (permalink)  
Eski 07-07-2007, 16:49:37
AlperenSonad - ait Avatar
 
Karabük Şubesi
Mesajlar: 367
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (7)
iTrader Feedback: (100%)
Rep puanı: 29
AlperenSonad isimli üyemiz hakkına hiçbir bilgimiz yok.
AlperenSonad - MSN üzerinden Mesaj gönder
Tanımlı

arkadaşlar orada bir değişkene başka bir değişken atamış ejder abi. onu farklı bir şekilde de yapabilirdi ama bu sekilde daha basit diye bu sekilde yapmış. bir deişkene farklı değerler atayabiliyorsunuz. karmaşık halide şu şekilde oluyor


PHP Kodu:
$birinci_ders  "Matematik";
$ikinci_ders = &$birinci_ders;
$birinci_ders "Türkçe";
echo 
$ikinci_ders
oradaki & işareti deger değişiminin dinamik oldugunu gösterir. o deger olmasaydı dinamik olmayacaktı durgun olacaktı
Alıntı ile Cevapla
  #10 (permalink)  
Eski 07-07-2007, 16:57:10
andyou - ait Avatar
 
Sivas Şubesi
Mesajlar: 1.631
Thanks: 0
Thanked 0 Times in 0 Posts
iTrader Puanı: (3)
iTrader Feedback: (100%)
Rep puanı: 139
andyou isimli üyemiz daha yolun başında.andyou isimli üyemiz daha yolun başında.
andyou - MSN üzerinden Mesaj gönder
Tanımlı

Harikasınız Teşekkürler !
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
Ücretsiz Scriptler İndex MuratCem Ücretsiz Scriptler 189 01-09-2008 01:31:47
Php İnclude Dersi murat_gs_55 PHP 6 06-05-2008 16:43:30
75 tane kaliteli free php scripti iyiwebtr Webmaster Genel konular sorunlar 12 01-10-2007 15:41:10
Php Nedir - Tarihçesi silveran PHP 19 30-06-2007 21:13:02
PHP Access Violation [ IIS + ISAPI ] tespara Vbulletin 2 23-05-2007 10:08:45

Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 12:27:07 .


 
Telif Hakları vBulletin v3.7.2 © 2000-2008, ve Jelsoft Enterprises Ltd.'e Aittir.
Hosted by Radore Hosting

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198