খবরাখবর: ডিসেম্বর ১৯

* পিএইচপিতে ফ্লিকার এপিআই ব্যবহার করে কিভাবে ফটো সার্চ করতে হয় তা নিয়ে লেখা হয়েছে ওয়েব ডেভেলপমেন্ট ব্লগে
* কিভাবে পিএইচপিতে ডেমন লিখতে হয় তা নিয়ে আলোচনা করা হয়েছে পিএইচপি অ্যাডভেন্টে – এই সংক্রান্ত আরো একটি ইন্টারেস্টিং পোস্ট রয়েছে মাসনুনের ব্লগে
* কিভাবে অ্যাপ্লিকেশনের স্পেক (specification, সংক্ষেপে spec) লিখতে হয় এবং টাইম প্ল্যান করতে হয় তা নিয়ে লিখেছেন ব্রান্ডন স্যাভেজ
* নেটটিউটস এ লেখা হয়েছে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য প্রয়োজনীয় পিএইচপি, সিএসএস এবং জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক গুলো নিয়ে
* টুইটারের পিএইচপি OAuth লাইব্রেরীর কিছু চমৎকার আপডেট নিয়ে লিখেছেন কনস্টান্টিন
* ডাউনলোড করুন পিএইচপিতে করা চমৎকার একটি লাইফস্ট্রিমিং অ্যাপ্লিকেশন পাবউইচ, অবশ্যই ওপেন সোর্স

  • Share/Bookmark

পিএইচপি বেসিকস ৮: অ্যারে

ভ্যারিয়েবল নিয়ে আলোচনার একদম শুরুতেই আমরা বলেছিলাম যে পিএইচপিতে (শুধু পিএইচপি না, প্রায় সব প্রোগ্রামিং ল্যাংগুয়েজেই) অ্যারে নামে একটি কালেকশন রয়েছে, যার কাজ হচ্ছে একগুচ্ছ ডাটা স্টোর করা। একটি ভ্যারিয়েবল যেমন একক ডেটা স্টোর করে, অ্যারে কে আপনি ভাবতে পারেন একটি অ্যারে আসলে অনেকগুলো ভ্যারিয়েবলের সমষ্টি (সহজ কথায়)। পিএইচপি তে অ্যারে খুবই গুরুত্বপূর্ন এবং অ্যারে সংক্রান্ত অনেক মজার মজার ফাংশন রয়েছে পিএইচপিতে। এই পোস্টে চলুন আমরা পরিচিত হই অ্যারের সাথে। পিএইচপিতে অ্যারে ডিক্লেয়ার করা লাগে array() ফাংশন দিয়ে

<?php
//filename: /home/hasin/www/array1.php
$MyArray = array(11,12,13,14,15);
print_r($MyArray);
?>

উপরের কোডটুকু রান করলে আমরা দেখব স্ক্রিনে পাঁচটি এলিমেন্ট সহ এই অ্যারে টি প্রিন্ট হয়েছে। লাইন # ৩ এ array() ফাংশন দি্যে আমরা $MyArray নামে একটি অ্যারে তৈরী করেছি যাতে আমরা 11,12,13,14 এবং 15 এই পাঁচটি এলিমেন্ট রেখেছি। এখন অ্যারে নিয়ে আরো কথা বলার আগে দুটো জিনিস সম্বন্ধে ধারনা পরিষ্কার করা দরকার। পিএইচপিতে অন্য প্রোগ্রামিং ল্যাংগুয়েজের মত অ্যারের সাইজ (অর্থাৎ অ্যারে তে সর্বোচ্চ কয়টি এলিমেন্ট থাকবে) তা বলতে হয় না। এটা ডাইনামিক ভাবে বাড়তে থাকে। আপনি যত ইচ্ছা এলিমেন্ট রাখতে পারবেন। এলিমেন্টগুলোর পজিশনিং শুরু হয় 0 থেকে। আমাদের এই অ্যারেতে প্রথম এলিমেন্ট 11 এর পজিশন অ্যারের একদম শুরুতে, অর্থাৎ 0 তে, এবং এর পরের এলিমেন্ট 12 এর পজিশন 1 এ। এই পজিশনকে প্রোগ্রামিং এর ভাষায় বলে অফসেট (Offset), অর্থাৎ 11 এর অফসেট 0 এবং 12 এর অফসেট 1। আমরা যেকোন সময় অ্যারের যেকোন অফসেটে যেকোন এলিমেন্টের মান পরিবর্তন করতে পারি। নিচের কোডটি দেখুন কিভাবে যেকোন অফসেটে কোন এলিমেন্টের মান পরিবর্তন করা যায়

<?php
//filename: /home/hasin/www/array2.php
$MyArray = array(11,12,13,14,15);
for($i=0;$i<5;$i++)
$MyArray[$i] = $MyArray[$i]*$MyArray[$i];
print_r($MyArray);
?>

অ্যারের যেকোন অফসেটের এলিমেন্ট এর মান জানা বা পরিবর্তন করার জন্য অ্যারের সাথে থার্ড ব্র‍্যাকেটের মাঝে সেই অফসেট বলে দিতে হয়। যেমন উপরের উদাহরনে আমরা ০ থেকে ৪ পর্যন্ত অফসেটের এলিমেন্টগুলোর মান তাদের বর্তমান মান দিয়ে গুন করে পরিবর্তন করেছি (লাইন # ৪) ।

পিএইচপিতে অ্যারে নিয়ে কাজ করার সময় আরো একটা জিনিস মনে রাখা দরকার। অ্যারের অফসেটগুলো যদি নাম্বার হয় (যেমন 0,1,2,3,4,……n) তাহলে আমরা সেই অ্যারেকে বলব ইনডেক্সড অ্যারে। আর যদি অফসেট হয় স্ট্রিং (তাও হয় নাকি? হ্যাঁ হয়, নিচের উদাহরনটি দেখুন) তাহলে সেই অ্যারেকে বলব অ্যাসোসিয়েটেড অ্যারে। চলুন অ্যাসোসিয়েটেড অ্যারের একটা উদাহরন দেখা যাক

<?php
//filename: /home/hasin/www/array3.php
$MyArray = array("blue"=>"berry","red"=>"tomato","green"=>"pear","yellow"=>"banana");
print_r($MyArray);
?>

অ্যাসোসিয়েটেড অ্যারের মাঝে লুপ চালানোর সময় for বা while বা do-while ব্যবহার করা যায় না। এক্ষেত্রে foreach ব্যবহার করতে হয়। চলুন একটা উদাহরন দেখি কিভাবে আমরা উপরের অ্যাসোসিয়েটেড অ্যারেতে লুপ চালাতে পারি।

<?php
//filename: /home/hasin/www/array4.php
$MyArray = array("blue"=>"berry","red"=>"tomato","green"=>"pear","yellow"=>"banana");
foreach($MyArray as $key=>$value)
{
   echo "{$value} is {$key} 
"; } ?>

এই কোডটুকু রান করলে আমরা দেখবে নিচের মত আউটপুট এসেছে

berry is blue
tomato is red
pear is green
banana is yellow

foreach লুপে $key তে অ্যারের এলিমেন্টের অফসেট এবং $value তে এলিমেন্টের মান স্টোর হয়।

এর পরের পোস্টে আমরা দেখব অ্যারে নিয়ে আরো বেশ কিছু বিষয় আলোচনা করব, সেইসাথে দেখব অ্যারে সংক্রান্ত বহুল ব্যবহৃত ফাংশনগুলোর ব্যবহার।

  • Share/Bookmark

ইনস্টলেশন শর্টকার্ট ও শুরু (উইন্ডোজ)

উইন্ডোজ পরিবেশে ম্যানুয়ালি সবকিছু সেটাপ শিখতে গিয়ে যেসকল নবীন ডেভেলপাররা হোচট খেয়েছেন তাদের জন্য খুব আনন্দের খবর হচ্ছে কোন রকম ঝামেলা ছাড়াই উইন্ডোজ পরিবেশে ওয়েব ডেভেলপ করার পরিবেশ তৈরি করা সম্ভব। এর জন্য খুব জনপ্রিয় দু’টি প্যাকেজ (XAMPP, WAMP) আছে যাতে Apache, PHP, MySQL সহ আরো বেশ কিছু প্রয়োজনীয় টুল একত্রে কনফিগার করে দেয়া থাকে। এদের যেকোন একটি সংগ্রহ করে সাধারণ যেকোন সফটওয়্যারের মত সেটাপ করে নিলেই ওয়েব ডেভেলপ করার প্রয়োজনীয় পরিবেশ তৈরি হয়ে যাবে। XAMPP এবং WAMP নামের এই প্যাকেগুলো থেকে আমরা অধিক জনপ্রিয় XAMPP-কে বেছে নিচ্ছি। চলুন খুব সংক্ষেপে এটি সংগ্রহ, ইনস্টলেশন ও সাধারণ ব্যবহারবিধি জেনে নেই-

১) প্রথমেই আপনাকে XAMPP প্যাকেজটি ডাউনলোড করে নিতে হবে। যারা গুগল ব্যবহার জানেন তারা এতক্ষনে নিশ্চয় DOWNLOAD XAMPP লিখে সার্চ দিয়ে যায়গামত পৌঁছে গিয়েছেন। যারা এখনো পাচ্ছেন না তারা apachefriends.org খুলে Windows প্যাকেজটি খুঁজে বের করে ডাউনলোড দিন।
২) ডাউনলোড হয়ে যাওয়ার পর অন্য যেকোন সফটওয়্যারের মত করে সেটাপ শুরু করুন। এক্ষেত্রে Destination Folder এ C:/ বা অন্য যেকোন ড্রাইন নির্বাচন করতে পারেন।
Read the rest of this entry »

  • Share/Bookmark

বর্ণগুচ্ছের সহজ পাঠ- ডিক্লেয়ারেশন

আগের পর্বে আমরা জেনেছিলাম স্ট্রিং কি। আজ আমরা দেখবো কিভাবে স্ট্রিং ডিক্লেয়ার করতে হয়।
পিএইচপিতে তিন উপায়ে স্ট্রিং লিখা যায়-

  • সিঙ্গেল কোট (single quote ) ব্যাবহার করে,
  • ডাবল কোট (double quote ) ব্যাবহার করে,
  • হেয়ারডক (heredoc) ব্যাবহার করে।

সিঙ্গেল কোট (single quote ) এর ব্যাবহারঃ
স্ট্রিং-কে সিঙ্গেল কোট(‘’)-এর মধ্যে লেখা যায়। কে যেন মনে হয় বলেছিলো–

An example is worth a thousand words :D

একটা উদাহরণ দিলেই পরিষ্কার হবে-

<?php
   //filename: /home/samiul/www/string1.php
   echo 'php book project';
?>

Read the rest of this entry »

  • Share/Bookmark

খবরাখবর: ডিসেম্বর ১২

চলুন জেনে নেয়া যাক বেশ কিছু খবরাখবর

* অ্যালান পিনস্টেইন তৈরী করেছেন ইন্টারঅ্যাকটিভ পিএইচপি শেল
* ম্যাথিউ উইয়ার ওফিনি লিখেছেন কিভাবে জেন্ড সার্ভার দিয়ে জেন্ড ফ্রেমওয়ার্কের রিয়াল টাইম মনিটরিং করা হয়
* ক্যারেক্টার সেট এবং এনকোডিং নিয়ে লিখেছেন কোরি নর্ডম্যান
* নেটবিনস আইডিই ৬.৮ ভার্সন রিলিজ হয়েছে
* ওয়েব অ্যাপ্লিকেশেন ফিচার্ড আইটেমের লিস্ট বানানোর জন্য রিলিজ হয়েছে চমৎকার একটি জেকোয়েরী প্লাগইন, ফিচার লিস্ট
* মাইএসকিএউএলে ফুলটেক্সট সার্চ করার জন্য অসাধারন স্ফিংক্স লাইব্রেরীর ০.৯.৯ ভার্সন রিলিজ হয়েছে
* ডাউনলোড করুন চমৎকার একটি ওপেনসোর্স মাইক্রোব্লগিং প্ল্যাটফর্ম, পিএইচপিতে করা – আইডেন্টিকা

  • Share/Bookmark

পিএইচপি বেসিকস ৭: লুপ, for দিয়ে

আমাদের আগের আর্টিকেলে আমরা বলেছিলাম যে পিএইচপিতে সাধারনভাবে চার রকমের লুপ আছে এবং আমরা while ও do-while নিয়ে আলোচনা করেছিলাম। এই আর্টিকেলে আমরা দেখব কিভাবে for দিয়ে লুপ তৈরী করা যায়।

<?php
//filename: /home/hasin/www/loop3.php
for($i=0;$i<10;$i++)
{
    echo $i."
"; if ($i>7) break; } ?>

এই হল ফর লুপের উদাহরন। চলুন একটু কোড বোঝা যাক

লাইন # ৩ এ আমরা আমাদের for লুপ শুরু করেছি। এখানে একটা জিনিস খেয়াল করুন, for লুপের কন্ডিশনে তিনটি অংশ আছে। একটা হল

$i=0; এটা দিয়ে আমরা একটি ভ্যারিয়েবলের মান ঠিক করে দিয়েছি
$i<10; এটা দিয়ে আমরা কন্ডিশন ঠিক করেছি, যে যতক্ষন $i এর মান ১০ এর নিচে থাকবে ততক্ষন পর্যন্ত আমাদের for লুপ কাজ করবে।
$i++ এটা দিয়ে আমরা ভ্যারিয়েবলের মান এক এক করে বাড়িয়েছি

লাইন # ৪ এ আমরা for লুপের স্কোপ শুরু করেছি সেকেন্ড ব্র‍্যাকেট দিয়ে যা শেষ হয়েছে লাইন # ৭ এ

লাইন # ৫ এ আমরা $i এর মান প্রিন্ট করেছি

লাইন # ৬ এ আমরা চেক করেছি যে $i এর মান ৭ এর বেশি কিনা। বেশী হলে আমরা break লিখে পিএইচপিকে বলছি for লুপ থেকে বের হয়ে যেতে।

চলুন একটা মজার কোড লেখা যাক। আমরা নিচের কোড টুকু দিয়ে দেখব যে একটি সংখ্যা মৌলিক সংখ্যা (prime number) কিনা . তার আগে জেনে নেই যে প্রাইম নাম্বার বের করার জন্য অনেক জটিল জটিল অ্যালগরিদম রয়েছে, কিন্তু সবচেয়ে সহজটি হল যে সংখ্যা আমরা চেক করব তার স্কয়ার রুট বের করব। এবার ২ থেকে স্কয়ার রুট পর্যন্ত একটি লুপ চালিয়ে আমরা দেখব যে আমাদের সংখ্যাটি এই সংখ্যাগুলোর কোনোটা দিয়ে ভাগ যায় কিনা (অর্থাৎ ভাগফলের অবশিষ্ট ০ কিনা) – যদি ০ হয়, তাহলে এটা প্রাইম নাম্বার নয়। চলুন দেখা যাক কোডে কিভাবে এটা লেখা যায়

<?php
//filename: /home/hasin/www/primenumber.php
$number = 29;
$isPrime = true;
$sqrt = floor(sqrt($number));
for ($i=2;$i<=$sqrt;$i++)
{
    if($number % $i == 0)
    {
        $isPrime = false;
        break;
    }
}

if ($isPrime)
echo "{$number} is a prime number";
else
echo "{$number} is not a prime number";
?>

কিভাবে কি হল বোঝার জন্য চলুন একটু কোড দেখি।

লাইন # ৪ এ আমরা একটি ভ্যারিয়েবল $isPrime এর মান true রেখেছি। কারন লুপ চলার সময় কোন সংখ্যা প্রাইম নাম্বার নয় এ ব্যপারে নিশ্চিত হলে আমরা এই ভ্যারিয়েবলের মান false করে দিব।

লাইন # ৫ এ আমরা সংখ্যাটির স্কয়ার রুট বের করেছি sqrt ফাংশন দিয়ে। এটা একটা পিএইচপির একটা বিল্ট ইন ম্যাথ ফাংশন। এরপরে আমরা একই লাইনে এই স্কয়ার রুটের দশমিক অংশ বাদ দিয়েছি floor ফাংশন দিয়ে। এই ফাংশন গুলো সম্পর্কে বিস্তারিত জানার জন্য আমাদের ম্যাথ সংক্রান্ত আর্টিকেলটি পড়ুন

বাকি অংশটুকুতে আর নতুন কিছু নেই। আমাদের আগের আর্টিকেল গুলো পড়ে থাকলে আপনি অনশ্যই বুঝতে পারবেন বাকি লাইন গুলোতে আমরা কি করেছি।

  • Share/Bookmark

খবরাখবর: ডিসেম্বর ১০

চলুন জেনে নেয়া যাক আজকের খবরাখবর

* কাস্টম ইভেন্ট এবং স্পেশাল ইভেন্ট ম্যানেজমেন্ট নিয়ে চমৎকার একটি আর্টিকেল লেখা হয়েছে নেটটিউটস এ
* উবুন্তুতে কিভাবে পিএইচপি ৫.৩.১ ইনস্টল করবেন তা নিয়ে লেখা হয়েছে অ্যাস্ট্রাম-ফিউচুরা তে
* এলি হোয়াইট সম্প্রতি পিএইচপি ব্রাজিল কনফারেন্স এবং ওয়াশিংটন ডিসি কনফারেন্সে দেয়া প্রেজেন্টেশনের স্লাইডগুলো আপলোড করেছেন এখানে
* ফ্রন্টএন্ডে ব্যবহারের জন্য অসাধারন কিছু কম্পোনেন্টের কালেকশন, জেকোয়েরী টুলস
* কিভাবে has_hmac() দিয়ে কন্টেন্ট ভেরিফিকেশন করা যায়, তা নিয়ে লিখেছেন অভিনাব সিং

  • Share/Bookmark

পিএইচপি বেসিকস ৬ – লুপ, while এবং do-while দিয়ে

কোডের কোন একটি অংশ বার বার রান করানোর জন্য আমরা লুপ ব্যবহার করি। পিএইচপি তে বেশ কয়েকভাবে লুপ তৈরী করা যায়, যেমন while, do-while, for এবং foreach। এদের মাঝে foreach টা অ্যারের সাথে ব্যবহৃত হয়। বাকিগুলো যে যেভাবে ব্যবহার করে। চলুন আমরা দেখি পিএইচপিতে কিভাবে লুপ তৈরী করা হয়। এই পোস্টে আমরা এবং while এর do-while এর উদাহরন দেখব। পরের পোস্টে দেখব for এর । প্রথমেই চলুন while দিয়ে একটি উদাহরন দেখি

<?php
//filename: /home/hasin/www/loop1.php
$i=0;
while ($i<10)
{
    echo $i."<br/>";
    if($i>7) break;
    $i = $i+1;
}
?>

আমরা যদি কোড দেখি, তাহলে দেখব যে এখানে while ব্লক শুরু হয়েছে লাইন নম্বর ৪ থেকে। while ব্লক কতক্ষন চলবে সেই কন্ডিশন বা এক্সপ্রেশন আমরা দিয়ে দিয়েছি ফার্স্ট ব্র‍্যাকেটের মাঝে, যে যতক্ষন $i এর মান ১০ এর নিচে থাকবে ততক্ষন আমাদের while লুপ রান করবে।

লাইন # ৫ এ আমরা লুপের স্কোপ শুরু করেছি সেকেন্ড ব্র‍্যাকেট দিয়ে যা শেষ হয়েছে লাইন # ৯ এ

লাইন # ৬ এ আমরা $i এর মান প্রিন্ট করেছি

লাইন # ৭ এ আমরা চেক করেছি যে $i এর মান ৭ এর উপরে গেছে কিনা, যদি গিয়ে থাকে তাহলে আমরা পিএইচপি কে বলছি যে লুপ থেকে বের হয়ে যাও। লুপের কোন অংশে break রান করলে পিএইচপি সেই লুপ থেকে বের হয়ে যায়।

লাইন # ৮ এ আমরা $i এর মান ১ করে বাড়িয়েছি। এই লাইন টিকে নিচের মত করেও লেখা যেত

$i+=1;

অথবা

$i++;

আমরা যদি কোডটুকু রান করাই তাহলে আমরা স্ক্রিনে ০ থেকে ৮ পর্যন্ত লেখা দেখতে পাব।

একই ভাবে আমরা do-while লুপ লিখতে পারি, যেমন নিচের উদাহরনটি দেখুন

<?php
//filename: /home/hasin/www/loop2.php
$i=0;
do{
    echo $i."<br />";
    if ($i > 7) break;
    $i++;
} while($i < 10);
?>

এখানে লুপ শুরু করতে হয় do দিয়ে এবং শেষ করতে হয় while দিয়ে, আর কন্ডিশনটি থাকে while এর সাথেই। বাকি সব তো একই রকম।

  • Share/Bookmark

খবরাখবর: ডিসেম্বর ৭

আজকে খবরের মধ্যে রয়েছে

* স্টয়ান স্টেফানভ শুরু করলেন পারফরমেন্স অ্যাডভেন্ট ২০০৯
* পিএইচপিতে কন্টিনিউয়াস ইন্টিগ্রেশনের জন্য রিলিজ হয়েছে পিএইচপি-আন্ডার-কন্ট্রোলের ০.৫ সংস্করন । এছাড়াও একবার দেখে নিতে পারেন ফিং এবং জিংক
* বিভিন্ন ধরনের ওয়েব অ্যাপ্লিকেশনে ব্যবহার করার জন্য ফ্রি আইকন লিস্টের একটি বিশাল কালেকশন নিয়ে লেখা হয়েছে ওয়েব অ্যাপারস এ
* ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট শুরু করার সময়ে অনেকেই কনফিউজড থাকেন, কোন ফ্রেমওয়ার্ক ব্যবহার করব, এ নিয়ে নেটটিউটস এ লেখা হয়ে অসাধারন একটি আর্টিকেল
* ডাউনলোড করুন পিক্সি, ওয়েব অ্যাপ্লিকেশনের ক্রস-সাইট-স্ক্রিপ্টিং এবং এসকিউএল-ইনজেকশন সংক্রান্ত ভালনারেবিলিটি গুলো খুঁজে বের করার জন্য চমৎকার এবং কার্যকরী একটি টুল

  • Share/Bookmark

পিএইচপির ম্যাথমেটিক্যাল ফাংশন্স, পর্ব – ২ : সাধারণ ত্রিকোণমিতিক সমস্যার সমাধান

এসএসসি তে ত্রিকোণমিতির বেসিকস বুঝতে বুঝতেই কখন যেন সময় গড়িয়ে গেল।এইচএসসি তে এসে বুঝলাম ত্রিকোণমিতির ঝাল কেমন। সাইন, কোসাইন আর ট্যাঞ্জেন্টের ধারণা মনে রাখাটাই বড় ধরনের কৃতীত্ব মনে হত তখন। কোনটা লম্ব ভাগ অতিভুজ আর কোনটা অতিভুজ ভাগ ভূমি – এই সংজ্ঞাগুলো মনে রাখতে আয়ত্বও করেছিলাম বেশকিছু ছন্দ :P sin30, cos90 ইত্যাদির মানতো কখনই মনে রাখতে পারতাম না। ভাগ্যিস হাতের কাছে ক্যালকুলেটর নামক যন্ত্রখানি সর্বদাই রাখা পড়ত :)

পিএইচপির ম্যাথ ফাংশন্স সিরিজের দ্বিতীয় পর্বে তাই আমরা ত্রিকোণমিতি সম্পর্কিত ফাংশন্সগুলোর দিকে নজর দিতে চাই । পিএইচপির অতি প্রচলিত ৪৮টি ম্যাথ ফাংশনের মধ্যে ১৫টিই ত্রিকোণমিতি সম্পর্কিত । এগুলো হল – acos(), acosh(), asin(), asinh(), atan2(), atan(), atanh(), cos(), cosh(), hypot(), sin(), sinh(), tan(), rad2deg(), tanh() :) এই পর্বটিতে আমরা সাধারণ ত্রিকোণমিতিক ফাংশনগুলোর ব্যবহারিক প্রয়োগ দেখব। অর্থাৎ sin(), cos(), tan() এবং hypot() :D

hypot():
চমৎকার এই ফাংশনটির কথা অনেকেরই অজানা। এটির কাজ সমকোনী ত্রিভূজের অতিভুজ পরিমাপ করা। কিভাবে? নিজেই ব্যবহার করে দেখে নিন:

<?php
// filename: /home/masnun/phpbook/math-2/hypot.php

var_dump( hypot(3,4) ); // Outputs: float(5)
?>

<?php
var_dump( hypot(12,5) ); // Outputs: float(13)
?>

আমরা সমকোনী ত্রিভূজের দুই বাহুর পরিমাপ প্যরামিটার হিসেবে দিলেই এই ফাংশনটি জানিয়ে দেবে অতিভুজের হিসাব। আজ যদি পীথাগোরাস বেচে থাকতেন তবে তিনিও নির্ঘাত পিএইচপি শিখতে চাইতেন অতিভুজ সংক্রান্ত সমস্যাগুলো দ্রুত সমাধান করতে :D কি, একটু বেশিই বলে ফেললাম নাকি ? ;-)

sin():
নাম থেকেই যে ফাংশনের কাজ সম্পর্কে ধারণা করে ফেলেছেন তাতো বুঝতেই পারছি। হ্যা, প্রদত্ত কোণের সাইন অনুপাত নির্ণয় করাই এই ফাংশনের একমাত্র কাজ :)

<?php
// filename: /home/masnun/phpbook/math-2/sin.php

var_dump( sin(90) ); // Outputs: float(0.893996663601)
?>

<?php
var_dump( sin(0) ); // Outputs: float(0)
?>

জ্বি, sin90 এর মান পুরোপুরি ১ নয় :)

cos():
সাইনের পরেই আমরা চলে এলাম কোসাইনের জগতে। কোন কোণের পরিমাপ থেকে তার কোসাইন অনুপাত করতে আমাদের এই ফাংশনটির শরণাপন্ন হতে হয়।

<?php
// filename: /home/masnun/phpbook/math-2/cos.php

var_dump( cos(90) ); // Outputs: float(-0.448073616129)
?>

<?php
var_dump( cos(0) ); // Outputs: float(1)
?>

tan():
সাইন অনুপাতকে কোসাইনের অনুপাত দিয়ে ভাগ করলেই যে ট্যাঞ্জেন্ট অনুপাত পাওয়া যাবে তা আমরা কম বেশি সবাই জানি। কিন্তু, কি দরকার অযথা সময় নষ্ট করার? এই ফাংশনটি থেকে আমরা একবারেই পেয়ে যাব কাংখিত ফলাফল ।

<?php
// filename: /home/masnun/phpbook/math-2/tan.php

var_dump( tan(45) ); // Outputs: float(1.61977519054)
?>

<?php
var_dump( tan(0) ); // Outputs: float(0)
?>

এই লেখাটিতে ব্যবহৃত উদাহরন সমূহ ডাউনলোড করে নিন এখান থেকে — http://bangla-phpbook.googlecode.com/files/math-2.zip

  • Share/Bookmark