Latest web development tutorials

hash perl

Hash adalah pasangankunci / nilai.

Perl variabel hash mulai dengan tanda persen (%) tanda.

AksesFormat hash elemen:$ {key}.

Berikut ini adalah contoh hash sederhana:

#!/usr/bin/perl

%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'w3big'} = $data{'w3big'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

Program di atas, output adalah:


Membuat hash

Anda dapat membuat hash dari dua cara berikut:

Pertama, menetapkan nilai untuk setiap tombol

$data{'google'} = 'google.com';
$data{'w3big'} = 'w3big.com';
$data{'taobao'} = 'taobao.com';

Kedua, melalui daftar set

Elemen pertama dalam daftar kunci, yang kedua adalah nilai.

%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');

Anda juga dapat menggunakan=> simbol untuk mengatur kunci / nilai:

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

Contoh berikut adalah varian dari contoh di atas, gunakan- bukan tanda kutip:

%data = (-google=>'google.com', -w3big=>'w3big.com', -taobao=>'taobao.com');

Menggunakan tombol modus ini tidak dapat memiliki ruang, baca cara elemen:

$val = %data{-google}
$val = %data{-w3big}

Unsur akses hash

Akses hashFormat elemen: $ {key}, contoh adalah sebagai berikut:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'w3big'} = $data{'w3big'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

Program di atas, output adalah:


Membaca nilai hash

Anda bisa seperti nilai ekstrak berbagai dari hash.

nilai hash mengekstraksisintaks array: @ {key1, key2}.

#!/uer/bin/perl


%data = (-taobao => 45, -google => 30, -w3big => 40);

@array = @data{-taobao, -w3big};

print "Array : @array\n";

Program di atas, output adalah:

Array : 45 40

Membaca kunci hash dan nilai

Baca semua kunci

Kita dapat menggunakantombol fungsi untuk membaca semua kunci hash, sintaks adalah sebagai berikut:

keys %HASH

Fungsi ini mengembalikan array semua hash kunci dari semua.

#!/usr/bin/perl 

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@names = keys %data;

print "$names[0]\n";
print "$names[1]\n";
print "$names[2]\n";

Program di atas, output adalah:

taobao
google
w3big

Apa yang bisa saya gunakan fungsi yang sama untuk membaca semuanilai dari nilai hash, sintaks adalah sebagai berikut:

values %HASH

Fungsi ini mengembalikan array dari semua nilai semua hash.

#!/usr/bin/perl 

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@urls = values %data;

print "$urls[0]\n";
print "$urls[1]\n";
print "$urls[2]\n";

Program di atas, output adalah:

taobao.com
w3big.com
google.com

Mendeteksi unsur ada

Jika Anda membaca sepasang kunci tidak ada / nilai di hash, dan mengembalikan nilaiundefined, dan dalam pelaksanaan pengingat peringatan.

Untuk menghindari situasi ini, kita dapat menggunakanada fungsi untuk menentukan apakah kunci itu ada, ketika keberadaan berbunyi:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

if( exists($data{'facebook'} ) ){
   print "facebook 的网址为 $data{'facebook'} \n";
}
else
{
   print "facebook 键不存在\n";
}

Program di atas, output adalah:

facebook 键不存

Kode di atas kita menggunakanIF ... ELSE pernyataan pada bagian selanjutnya kita akan memperkenalkan tertentu.


Mendapat ukuran hash

ukuran hash adalah jumlah elemen yang bisa kita dapatkan melalui semua elemen dari array ke tombol atau nilai, dan kemudian menghitung jumlah elemen array untuk mendapatkan ukuran hash, contoh adalah sebagai berikut:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@keys = keys %data;
$size = @keys;
print "1 - 哈希大小: $size\n";

@values = values %data;
$size = @values;
print "2 - 哈希大小: $size\n";

Program di atas, output adalah:

1 - 哈希大小: 3
2 - 哈希大小: 3

Hash menambah atau menghapus elemen

Tambahkan pasangan kunci / nilai dapat dilakukan dengan tugas sederhana. Namun, menghapus elemen hash Anda perlu menggunakan fungsihapus:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');
@keys = keys %data;
$size = @keys;
print "1 - 哈希大小: $size\n";

# 添加元素
$data{'facebook'} = 'facebook.com';
@keys = keys %data;
$size = @keys;
print "2 - 哈希大小: $size\n";

# 删除哈希中的元素
delete $data{'taobao'};
@keys = keys %data;
$size = @keys;
print "3 - 哈希大小: $size\n";

Program di atas, output adalah:

1 - 哈希大小: 3
2 - 哈希大小: 4
3 - 哈希大小: 3